Atalanta's hopes of getting anything from the match all but evaporated when it was reduced to 10 men nine minutes from time following Luca Cigarini's second booking.
Substitute Rafal Wolski sealed the match in the 86th, racing almost half the length of the pitch and holding off defenders before firing across into the bottom left corner for his first Serie A goal.
Udinese had lost four of its past five Serie A matches, while Chievo was without a win in its past seven, scoring only four goals during that period.
Chievo almost took the lead on the half hour when Cyril Thereau's back-heeled effort crashed off the base of the upright.
Udinese went in front in the 56th when Antonio Di Natale brought down Dusan Basta's pass and volleyed across into the bottom left corner for his third goal in as many matches.
Substitute Bruno Fernandes tapped home Roberto Pereyra's cross in the 74th and Emmanuel Badu added a third shortly before fulltime.
Udinese moved provisionally nine points clear of the relegation zone and eight points ahead of Chievo.