Argentinean five-eighth Nicolas Sanchez was successful with his solitary conversion attempt and also slotted over four penalties for Heyneke Meyer's side, which moves up to fifth place in the table after the win on the road.
Toulon belied its lowly league position by tearing Lyon apart, Filipo Nakosi crossing for a hat-trick of tries to help the host run out a comfortable 40-7 winner.
Liam Messam, Josua Tuisova and Daniel Ikpefan also touched down for Toulon, which had lost seven of its previous 11 league outings but scored 28 unanswered points before the break at Stade Mayol.
Lyon put up more of a fight in the second half but has now lost three on the spin in all competitions after back-to-back defeats against Glasgow Warriors in the European Champions Cup.
Grenoble climbed out of the bottom two after a hard-fought 17-16 result against Montpellier, the home team retaining its lead during a tense finale to claim just a third league win of the season.
The result sees Grenoble move level on points with 11th-placed Pau, which went down to a 28-23 defeat at home to La Rochelle in a game that saw both teams have a player sin-binned.
Meanwhile, bottom club Perpignan remains without a victory through round 12 of the campaign after it was put to the sword in Paris, Racing 92 running in 10 tries to record a crushing 64-28 victory.