Varane scored a fine header five minutes before the end of a closely contested first half at Nizhny Novgorod Stadium, while Uruguay goalkeeper Fernando Muslera spilled a speculative Griezmann shot into his own net with half an hour left to play.
Uruguay were short of quality from the off, with star forward Edinson Cavani - who scored two goals against Portugal in the last-16 - out due to a calf injury.
Despite Cavani's absence, Uruguay started well, with Luis Suarez and Cristhian Stuani linking nicely but without much end product.
As the game progressed, France's more cultured midfield started to find its range and rhythm, and the first big chance of the game went to an unmarked Kylian Mbappe, only for the teenager to mistime his leap and head harmlessly over from six yards out.
Just as the game seemed to be drifting towards the break, France centre-back Varane showed Mbappe how it is done with a delightful glancing header from a Griezmann free-kick.
Uruguay, however, almost immediately equalised with a carbon-copy goal. This time, though, Hugo Loris pulled off a magnificent save from a Martin Caceres header to preserve France's 1-0 lead.
Uruguay started the second half well, too, and with the lively Cristian Rodriguez and Maximiliano Gomez coming on for the disappointing Stuani and cautioned Betancur, it looked like they might just get back in it.
France had not really got going at all but Pogba found Griezmann about 25 yards out and he pulled trigger with his left foot. It was certainly travelling but it was straight at Muslera and should have been a routine save.
The Galatasaray goalkeeper got it all wrong, though, and the ball squirted through his gloves and over his head into the goal to double France's lead and give them a firm grip on the game.
Uruguay had little to offer as their World Cup dreams slipped away, while France will now face either Brazil or Belgium in the semi-finals.