Neymar failed to score in a match for the first time in a PSG shirt, but he was involved in the build-up to all of his side's goals as his attacking team-mate continued his fine form in front of goal.
Cavani put the hosts ahead with a 20th-minute penalty he won himself while trying to reach a pass from Neymar.
The Brazil forward's free-kick then led to Thiago Motta adding to PSG's advantage early in the second half, the veteran midfielder scoring his first league goal since January 2016.
And PSG wrapped up the victory late on, Cavani's clever flick from inside the six-yard box concluding a nice move involving Neymar and Thomas Meunier as he moved on to five Ligue 1 goals in four games this season.
Unai Emery's side are now unbeaten in 26 Ligue 1 home matches, the best current run in the division.
NBA star Stephen Curry was in attendance for the match which saw Saint-Etienne, who also came into the game with maximum points from their first three contests, concede their first goals of the Ligue 1 campaign.
In an opening half that did not produce much goalmouth action, Saidy Janko fired over for Saint-Etienne with the first effort of note.
But Janko was in trouble at the other end when PSG moved in front. He was adjudged to have tugged back Cavani in the box when the Uruguay striker attempted to latch on to a clever lofted pass by Neymar.
Cavani took the resultant penalty himself, thumping his effort into the left corner despite goalkeeper Stephane Ruffier guessing the correct direction to dive.
Saint-Etienne should have levelled when Jonathan Bamba beat the offside trap after a misjudgement from PSG defender Presnel Kimpembe, but he failed to beat Alphonse Areola, who saved with his legs to ensure the hosts went into the break ahead.
¡Vamos! pic.twitter.com/zvYR7KhP5x— PSG Officiel (@PSG_inside) August 25, 2017
PSG had much more control of the match after the break and doubled their lead within six minutes of the restart.
Neymar, who won the free-kick himself, sent in a threatening delivery from the right which was cleverly chested on by Marquinhos, allowing Motta to fire in from eight yards.
It was almost three for Emery's men when Angel Di Maria's 30-yard free-kick took Ruffier by surprise and bounced off the post.
Saint-Etienne almost responded against the run of play when Areola had to react quickly to deny Bamba on the counter-attack with a diving save.
Cavani then fired over a golden chance from close range after Ruffier parried when visiting captain Loic Perrin almost scored an own goal from Di Maria's cross.
PSG gave late run outs to Yuri Berchiche, Julian Draxler and Giovani Lo Celso, the latter testing Ruffier before Cavani struck to put the icing on the cake.
With one minute left, Cavani reacted impressively to finish off Meunier's accurate cross as the hosts moved into the international break with maximum points.