Morales and Octavio Rivero scored in the first half and the Vancouver Whitecaps beat the Union 3-0 on Saturday in Vancouver.
Second half-substitute Darren Mattocks also scored to help the Whitecaps (6-3-2) win at home for the first time since early April.
Vancouver opened the scoring in the 32nd minute when Cristian Techera sent a ball over the top to Morales, who moved in alone on Brian Sylvestre and calmly chipped home his second goal of the season.
Playing his first game in MLS after arriving on loan last month, Techera was only on the field because fellow midfielder Mauro Rosales limped off with an injury in the 12th minute.
The Whitecaps made it 2-0 in the 44th when Rivero muscled Philly defender Ethan White off a sloppy back pass before beating a helpless Sylvestre with a low shot for his sixth of the season.
Sylvestre got the start for Philly (1-7-3), which has lost four in a row, after John McCarthy and Andre Blake went down with injuries in practice this week. A former member of the Whitecaps’ youth system, Sylvestre was signed on a short-term loan from the Carolina RailHawks on Friday.
Mattocks subbed on for Rivero midway through the second half, then iced things with a superb individual effort for his third of the year.