Di Natale scored twice in five first-half minutes as he recorded his 16th and 17th goals against the Flying Donkeys.
Paul Papp pulled one back 10 minutes before the break only for Di Natale to turn provider with Mehdi Benatia on target five minutes from full-time.
The result was Udinese's first since they beat Pescara at the start of March and boosts their chances of a European spot.
It was all Udinese in the opening stages.
Roberto Pereyra fired in a right-footed shot from the edge of the area which was well saved by Christian Puggioni before the goalkeeper went down well to his right to thwart Allan.
It was no surprise when the hosts went ahead in the 20th minute when Di Natale pounced on a clumsy backpass by Francesco Acerbi to slot into an empty net.
Francesco Guidolin's team doubled their lead five minutes later when Pereyra produced an inch-perfect pass to Di Natale who fired high into the top left-hand corner.
Despite having shown nothing at all, Chievo halved the deficit in the 35th minute.
Papp headed Cyril Thereau's free-kick against the post only for Marco Rigoni to react and send a low ball across the six-yard box which Papp slotted home.
Di Natale almost restored their two-goal lead shortly before half-time but Puggioni was equal to his shot from outside the area.
Chievo came close to equalising shortly after the break but Zeljko Brkic blocked Sergio Pellissier's effort with his body.
Puggioni then kept out Andrea Lazzari's shot to his right before Di Natale skimmed the bar.
The hosts were then grateful to Brkic after the goalkeeper repelled Thereau's shot and with five minutes remaining they sealed victory.
Di Natale's run to the byline was followed by a lob over Puggioni which found Benatia, who scored from close range.