Monaco put four past Montpellier
Radamel Falcao gave Monaco a deserved lead from the penalty spot in the 18th minute after Lucas Ocampos was fouled by Siaka Tiene.
Montpellier leveled six minutes later when Victor Montano beat Monaco defender Ricardo Carvalho to head in Benjamin Stambouli's cross.
Monaco restored its lead just before halftime when Riviere won the ball off Daniel Congre and chipped the ball over Montpellier goalkeeper Laurent Pionnier.
Riviere doubled his tally in the 57th and matters got even worse for Montpellier when Congre was sent off six minutes later following a foul on Yannick Ferreira Carrasco.
Riviere completed his hat trick nine minutes from time, heading into an empty net after Pionnier had parried Ferreira Carrasco's deflected shot.