16-year-old in starring role as PSG defeated by Rennes
Angolan-born 16-year-old Eduardo Camavinga starred in Rennes midfield, and proved to be key in his team's winning goal, along with experienced playmaker Clement Grenier.
The Parisians dominated the early proceedings and showed their quality with two good chances within the opening quarter of an hour of play.
Firstly Julian Draxler's half-volley skimmed over the bar before Cavani's header hit the post after 14 minutes.
Uruguay forward Cavani made up for hitting the woodowrk by scoring 20 minutes later after a defensive howler from Rennes captain Damien da Silva.
The centre-back received the ball in his own box but his mis-placed pass to goalkeeper Romain Salin was intercepted by Cavani who tucked it away to make it 1-0.
- Four-minute fever -
The sides were back level just before the half-time whistle.
Right-back Hamari Traore found Niang in the box with a soft cross and the Senegal forward took two light touches, held-off Marquinhos before smoothly curling his effort past Alphonse Areola.
The Bretons took the lead than four minutes later of the second-half following a sublime cross from Camavinga.
Midfielder Camavinga found a free Del Castillo, starting instead of suspended Flavien Tait, who easily beat Areola with a header.
The hosts refused to settle for the one-goal advantage and had a superb chance to make it 3-1 on 62 minutes.
Benjamin Bourigeaud played his corner to front post and centre-back Jeremny Gelin's header glanced past Areola but hit the post and dribble out for a goal-kick.
Youngster Camavinga, who only made his senior debut in April, could have added a third himself but his half-volley skied over the crossbar.
Kylian Mbappe and Cavani had a late chances but they could not save PSG and Thomas Tuchel's blushes, losing to the side who finished in 10th place in the league last season.
Earlier on Sunday Saint-Etienne salvaged a late point at home to promoted Brest with new signing Denis Bouanga's 83rd minute effort claiming a 1-1 draw and it finished goalless between Reims and Strasbourg.