Inter dominated the first hour and missed a flurry of chances including one incredible effort from Brazilian Jonathan who contrived to fire wide from six metres out in the 54th minute with the goal at his mercy.
Rodrigo Palacio was also guilty when he slipped and fired wildly over when he had a clear run on goal.
Di Natale made them pay in the 63rd minute when he ran onto Andrea Lazzarri's chipped pass to score with a diagonal shot and put Udinese ahead.
Inter had Brazilian defender Juan Jesus dismissed two minutes later for a second bookable office before Luis Muriel and Di Natale, who took his Serie A tally to 12 goals, struck twice in a four-minute spell.
Inter, who have won only twice in their last eight league games, have 35 points, nine behind leaders Juventus who were hosting lowly Sampdoria later on Sunday (1400 GMT).
Udinese climbed to eighth on 27 points, level with AC Milan who host bottom club Siena later on Sunday (1400). (Writing by Brian Homewood in Berne, Editing by Tom Pilcher)