Clermont had led 10-9 at half-time but a brave rearguard action after the break saw Grenoble add another big name to their list of conquests this season.
Sylvain Begon's side have already beaten Toulon, Toulouse and champions Castres so far this campaign and this latest scalp extended their unbeaten home record while lifting them to within a point of third-placed Castres.
Julien Malzieu opened the scoring for Clermont in the 23rd minute and when Morgan Parra converted to add to an earlier penalty, the visitors appeared in control of the game.
But Julien Caminati's three penalties had kept Grenoble in with a shout and when Fijian Alipate Ratini went over in the 69th minute and James Hart converted, the tables were turned.
It was Grenoble's 11th win of the season and the victory boosted their hopes of reaching the play-offs, although they could be overtaken by both Toulon and Toulouse over the weekend.
Clermont too can be overhauled at the top of the table this weekend depending on how Stade Francais fare against Brive on Saturday.