NYCFC extended their unbeaten streak to six games (3-0-3) and are the only Eastern Conference team with just one loss this season.
Montreal lost for just the second time at home since last June (11-2-2). The two goals conceded ended the Impact's streak of four consecutive shutouts on their home pitch.
Despite the Impact's defensive strength, the width of NYCFC's 4-3-3 formation created some disorganization in Montreal's midfield in the first half, and it took New York City only six minutes to get on the scoreboard.
After Ben Sweat's initial shot was stopped, Moralez was in the box to convert the rebound for his first goal of the season.
New York City made another early strike at the beginning of the second half. In the 49th minute, Moralez earned an assist with a pass inside the box to Tajouri-Shradi, who blasted a strong shot past Montreal goalkeeper Evan Bush.
Tajouri-Shradi leads all New York City FC players with three goals this season.
Off-target headers from Saphir Taider and Orji Okwonkwo near the end of the first half represented the Impact's best offensive chances of the match. Montreal was outshot 13-8 and didn't record a shot on goal, as the club's attack continues to be inconsistent without injured star Ignacio Piatti.
NYCFC goalkeeper Sean Johnson recorded his fifth clean sheet in 10 starts this season.
The two clubs played to a 0-0 draw in the reverse fixture on April 6. New York City is 6-1-4 in 11 all-time meetings with the Impact.
The loss begins a busy week for Montreal, which has road games against the New York Red Bulls on Wednesday and FC Cincinnati on Saturday.
New York City FC continues their four-game road trip when the club visits the Los Angeles Galaxy on Saturday.