There were few chances for either side in the opening 30 minutes until Maurizio Domizzi crossed the ball into the visitors' penalty area, setting Di Natale up to smash the ball in and give the hosts the lead.
Di Natale had two more chances before the half-time whistle, but Sergio Romero saved his first effort and a 45th-minute header went high of the crossbar.
The Italian striker restored Udinese's lead shortly after the restart, finding the top of the net with a powerful shot from inside the penalty area.
The visitors pressed hard for an equaliser, but it was Udinese who found the back of the net again in the 87th minute, Luis Muriel sliding the ball in for the hosts.
Gianluca Sansone forced a save with a thunderous effort from 35 yards out as the visitors looked for a late comeback, but Brkic was able to maintain Udinese's two-goal cushion.
The result keeps Udinese in sixth place in the Serie A table, while Sampdoria sit 15th.