An own goal by Mamadou Sakho and a Pierre Emerick Aubameyang strike saw St Etienne inflict a first defeat of the season on Paris St Germain with the Ligue 1 leaders' misery compounded by the sending off of Zlatan Ibrahimovic.
Sakho turned the ball into his own net 10 minutes into the second half and, to make matters worse for PSG, Ibrahimovic was given a straight red card a quarter of an hour later for a challenge on goalkeeper Stephane Ruffier.
St Etienne took advantage and two minutes later doubled their lead through Aubameyang, and although Guillaume Hoarau pulled one back with four minutes remaining, the hosts could not prevent their first loss of the season.
It had started well for PSG. Gregory van der Wiel's effort was turned away for a corner by Ruffier, with the visiting keeper then repelling Ibrahimovic's left-footed shot with his foot.
It took until just before the break for St Etienne to threaten, Romain Hamouma's free-kick turned away by Salvatore Sirigu.
The second half followed the same pattern of PSG on the attack, Javier Pastore heading Maxwell's free-kick inches wide of the top corner with Ruffier rooted to the spot.
Despite PSG having had almost all the attacking play, it was St Etienne who took a shock lead.
Aubameyang powered the ball across the edge of the six-yard box and home defender Sakho turned the ball into his own net.
Hoarau headed inches wide as PSG looked to respond but their task was made even harder when Ibrahimovic was given his marching orders.
The Sweden striker went in late on Ruffier following a through ball and the referee immediately gave him a straight red card.
St Etienne doubled their lead two minutes later when Alejandro Alonso got down the right before picking out Aubameyang in the area, the forward beating Sirigu with a confident finish.
Hoarau pulled one back when he smashed home a half-volley across Ruffier but it was too little too late.