England midfielder Frank Lampard gave Chelsea the lead with an angled drive into the corner of the net in the 29th minute.
Battling United equalised on 67 minutes when Welshman Ryan Giggs rounded off a sweet move with a flick from 10 metres over the head of stranded Chelsea keeper Petr Cech.
Duff had the decisive say when his free kick from near the touchline evaded the entire United defence and all the Chelsea attackers before ending up in the net.
The two sides drew 0-0 in the semi-final first leg and the 2-1 aggregate victory means Chelsea face Liverpool in the final on February 27 at the Millennium Stadium in Cardiff.
Liverpool booked their place with a 1-0 win over second division Watford on Tuesday.