Udinese soon started to threaten down the other end as they looked for a quick equaliser, but Cyril Thereau's shot was blocked on the line after he created some space in the box.
Udinese continued to look the more likely at the start of the second half, with Thereau rounding a couple of defenders before seeing his finish turned behind for a corner, while Bruno Fernandes blasted the ball over from the edge of the box a couple of minutes later.
Stefano Sorrentino continued to come under pressure between the posts for Palermo, but he kept them ahead just after the hour mark when Panagiotis Kone hit a low, long-range effort towards the bottom corner, which was kept out by a diving save from the keeper.
The visitors' hopes of holding on for the win were dealt a blow when Aljaz Struna picked up a second yellow card with 20 minutes remaining, leaving his side to finish a man short.
Fernandes immediately tried to capitalise with a dangerous cross into the Palermo box, but it came to nothing, while Adnan's effort moments later was quickly cleared.
Sorrentino had to be alert again in the final moments of the match as Duvan Zapata attempted to secure a point for Udinese, heading the ball towards the top of the net following a lofted pass from Thereau, but the keeper was ready to make the save, securing the win for his side.
The result moves Palermo up to sixth in the table, while Udinese sit 11th.