Olivier Giroud grabbed his 14th goal of the season to leave Rene Girard's men to within three points of leaders PSG, while also handing Lyon its seventh defeat of the campaign.
La Paillade were the better of the two sides in a competitive game, and could've taken the lead after 30 minutes had Remy Cabella's effort not hit the woodwork. Perseverance paid off for Montpellier, which broke the deadlock after the hour through Olivier Giroud
Lyon failed to seriously trouble the hosts' back line, and could only muster sporadic chances, though Alexandre Lacazette should've done better with a late opportunity afforded to him.
Remi Garde endured a major defensive crisis heading into this match, with no first or second choice defenders available. Anthony Reveilliere, Dejan Lovren and Cris were all injured, Mohamadou Dabo suspended, and John Mensah, Sidy Kone and Bakary Kone at the Africa Cup of Nations.
With Guieda Fofana slotting in at right back, and Garde relying on the unusual partnership of Samuel Umtiti and midfielder Maxime Gonalons in central defense, Lyon could be forgiven for looking a little rough around the edges in the early stages on the south coast.
Rene Girard's high-flying outfit was the better of the sides, creating much of the early chances, but top scorer Olivier Giroud failed to maneuver a way past the visitors' makeshift defense.
It wasn't until the half hour mark that either side fashioned the first gilt-edged chance, and when it did come, it really should've been 1-0 to the hosts. Remy Cabella, latching onto Giroud's header smashed a half-volley which smashed off the post as Hugo Lloris scrambled.
Montpellier pressured their visitors, and la Paillade again spurned another decent chance. John Utaka raced past on the left flank, picking out Giroud who fired an audacious overhead kick wayward. The pair linked up again, but this time would be thwarted by Lloris as the hosts finished the half strongly.
Les Gones were once again uncertain at the back with the hosts unrelenting in their attacking play. Giroud raced past his marker, with Gueida Fofana pulling out a last-minute stop to deny Geoffrey Dernis.
However, by this point, Lyon's luck had run out. Dernis' long ball found Giroud who beat the offside trap and sliding an effort past Hugo Lloris from a tight angle after the hour mark to make it 14 goals in Ligue 1 this season for the striker.
Substitute Alexandre Lacazette wasted arguably Lyon's best chance in front of goal late on, taking too long to trigger his shot away, as a resolute defense stood firm. Marco Estrada and Karim Ait-Fana also were profligate for the hosts, who should've scored more on the day.
Neither side could produce any late drama, as Remi Garde's visitors were handed their sixth defeat on the road this season and seventh overall as their title challenge took a considerable dent. Rene Girard's men remain three points off the top.
Montpellier travels to Nice on matchday 21, as Lyon hosts Dijon. Both sides have Coupe de France round of 16 commitments next week against lower league outfits.