Three players were sin-binned inside the opening 36 minutes — two for Montpellier and one for Glasgow — but the Warriors’ half-time lead was only 12-10.
Montpellier’s try came through Eric Escande after prop Jon Welsh had been sin-binned, while Martin Bustos Moyano added five points from his boot.
Duncan Weir kicked four penalties before Ruaridh Jackson was called up for the final 23 minutes.
Scotland fly-half Jackson slotted a fifth penalty with 12 minutes remaining before Federico Aramburu scored a try six minutes from time.
It was enough for Glasgow to seal a second win from three Heineken Cup games this term, despite Montpellier substitute Masi Matadigo’s late try which secured a losing bonus point.
Clermont made light work of Leicester, winning 30-12 at Stade Marcel Michelin yesterday. Two Wesley Fofana tries damaged the Tigers’ hopes of qualifying from Pool 4 in the first of back-to-back encounters between the two sides. The 49th-minute double sin-binning of England centre Manu Tuilagi and hooker George Chuter, when 16-5 down, proved decisive as the thirteen Tigers could not prevent Fofana from scoring soon after.
That converted score gave the hosts a virtually unassailable 23-5 lead with less than half an hour remaining. And when Clermont’s inside centre struck again with 14 minutes left the game was up for the visitors.
Elsewhere, Peter Stringer got his Saracens career off to a winning start, coming off the bench for the final 20 minutes to help his new club see off the Ospreys 31-26 at Wembley Stadium.
The veteran Ireland scrum-half is on a three-month loan at the Aviva Premiership side having seen his opportunities limited at his native Munster.
Scorers for Glasgow: Tries: Aramburu. Pens: Weir 4, Jackson.
Scorers for Montpellier: Tries: Escande, Matadigo. Cons: Bustos. Pens: Bustos.
GLASGOW: Hogg, Aramburu, Murchie, Morrison, Lamont, Weir, Cusiter, Welsh, MacArthur, Cusack, R. Grant, Kellock, Harley, Barclay, R. Wilson, R. Wilson.
Replacements: Jackson for Weir (57), R. Grant for Welsh (53), Hall for MacArthur (66), Kalman for Cusack (66), Fusaro for R. Wilson (57), Fusaro for R. Wilson (57).
MONTPELLIER: Peyras-Loustalet, Berard, Bosch, Combezou, Bustos, Fernandez, Escande, Shvelidze, Ladhuie, Jgenti, Tuineau, Hancke, Bost, Martain, Tulou.
Replacements: Gonzalez Amorosino for Berard (66), Perraux for Fernandez (75), Paillaugue for Escande (66), Nariashvili for Shvelidze (66), Caudullo for Ladhuie (68), Kervarec for Jgenti (75), Galletier for Bost (75), Matadigo for Tulou (66).
Referee: Greg Garner (RFU).
Scorers for Clermont: Tries: Malzieu, Fofana 2. Cons: Parra 3. Pens: Parra 3.
Scorers for Leicester: Tries: B. Youngs, Penalty. Cons: Flood.
CLERMONT AUVERGNE: Byrne, Sivivatu, Rougerie, Fofana, Malzieu, James, Parra, Debaty, Kayser, Zirakashvili, Pierre, Hines, Vosloo, Lapandry, Bonnaire.
Replacements: King for Rougerie (78), Kotze for Debaty (68), Paulo for Kayser (46), Ric for Zirakashvili (36), Cudmore for Pierre (71), Vermeulen for Hines (75).
LEICESTER: Murphy, Agulla, Smith, M Tuilagi, A Tuilagi, Flood, B. Youngs, Ayerza, Chuter, Castrogiovanni, Deacon, Skivington, Croft, Salvi, Waldrom.
Replacements: Stankovich for Agulla (49), Twelvetrees for Smith (7), Cole for Castrogiovanni (61), Slater for Deacon (74).
Referee: Alain Rolland (Ireland).