PSG are bidding to become the first French side to lift all three domestic trophies in a single season and will face Ligue 2 club and four-times winners Auxerre in the final at the Stade de France on May 30.
They take on Bastia in the League Cup final on Saturday and are top of the Ligue 1 table, one point ahead of Olympique Lyonnais, with seven games left.
Ibrahimovic opened the scoring at the Parc des Princes from the penalty spot with his 100th goal for the club on 21 minutes following a Francois Clerc foul on Ezequiel Lavezzi.
Man Utd battle to sign De Jong and Nkunku - Paper Round
Romain Hamouma levelled for the visitors five minutes later with a powerful header from a rare chance for St Etienne, who were outclassed throughout.
Lavezzi made it 2-1 in the 59th minute from an excellent Javier Pastore cross, before Zlatan Ibrahimovic netted his second with eight minutes remaining after rounding goalkeeper Stephane Ruffier.
He completed his hat-trick for the eight-times winners with a powerful low strike in added time.
The Sweden striker is now PSG's second highest all-time scorer on 102 goals, behind former Portugal forward Pauleta.
On Tuesday, second tier club Auxerre stunned holders Guingamp 1-0 at home thanks to Frederic Sammaritano's first-half goal.
Real Madrid close to achieving 'something huge' - Ancelotti
'Real are favourites' says Klopp as Liverpool arrive and train in Stade de France