When was the last 'clean' Formula 1 race?
A 'clean' race is one in which all cars that made a time in qualifications ended the full race (they did not retire or receive a DNF or DNS).
Just as an update to the previously accepted answer, which is from 2018, the last "clean" race as OP describes was the 2019 Austrian GP.
According to Wikipedia:
Verstappen's victory marked the first win for a Honda-powered F1 car since Jenson Button in the 2006 Hungarian Grand Prix. The race was also the first race in the season not to be won by a Mercedes driver, as Valtteri Bottas finished in third and Lewis Hamilton fifth. Antonio Giovinazzi scored his first ever career points in Formula One by finishing tenth place.[13] This also marked the first race in which every driver saw the chequered flag since the 2016 Japanese Grand Prix. (emphasis mine)
Prior to the 2016 Chinese Grand Prix, only five races had finished with a full house. That list includes the 2015 Japan Grand Prix, where Felipe Nasr did not physically finish the race, but was classified after having run more than 90% of the total distance.
The 2016 Chinese and subsequent 2016 Japanese Grands Prix both had a true full house finish, 22 of 22 cars that qualified also finished.
Since then, the closest to a full house finish has been a single retirement from a qualified field of 20 and of 22.