The Spanish striker came off the bench in Sicily to earn Massimiliano Allegri's men a hard-fought win with a sublime curling effort 20 minutes from time
The league leaders were far from their fluent best in Saturday's encounter at the Stadio Renzo Barbera, where Palermo have excelled this term.
But Morata struck in the 70th minute to hand Massimiliano Allegri's men all three points - stretching the champions' lead at the top of Serie A to 14 points over Roma, who play Sampdoria on Monday.
Juve lacked their usual attacking fluency in a first half devoid of chances, with the suspended Paul Pogba a sore loss in their midfield.
However, the visitors showed more attacking verve in the second half, Carlos Tevez seeing a well taken free-kick saved before Morata's seventh Serie A goal of the season won it.
Juve will now head to Borussia Dortmund seeking to make the UEFA Champions League quarter-finals for the second time in three seasons, with the Turin club protecting a 2-1 lead from the first leg.
They can likely ill-afford as slow a start in Germany as they had in Sicily though, Stephan Lichtsteiner firing the first shot in anger wide of the post in the 13th minute.
Tevez then tried his luck from range and Palermo goalkeeper Stefano Sorrentino was left thankful that no Juve player followed in as he spilled the Argentine's effort.
Stefano Sturaro was handed a debut in the absence of Pogba and the 22-year-old was next to go close as he showed good feet to burst into the penalty area before his left-foot shot went wide.
A muted atmosphere reflected the flat nature of the match, although the home fans screamed for a penalty when Luca Rigoni ran into Giorgio Chiellini as the Italy man shepherded the ball out.
Allegri introduced Arturo Vidal for Sturaro at half-time in a bid to inject life into the midfield.
Tevez almost provided the spark in the 52nd minute with a superb 25-yard free-kick that drew a fine stop to his right from Sorrentino.
At the other end, Andrea Barzagli struggled to cope with the pace of Palermo danger man Paulo Dybala on his first start of the season- the Juve centre-back deservedly earning a yellow card with a cynical foul to stop the striker breaking free.
Morata was brought on the replace the disappointing Fernando Llorente on the hour mark.
And the former Real Madrid man made the telling contribution 10 minutes later, toying with the Palermo defence before bending his shot into the corner from the edge of the penalty area.
Palermo pushed forward in search of an equaliser, but were consigned to a first defeat in 11 league home matches as Juve displayed typical title-winning grit.