Ahmed Jahouh opened the scoring for the Islanders just 10 minutes into the match after the referee incorrectly awarded a penalty for a foul on Greg Stewart outside the box. The hosts bounced back just seven minutes later after a mistake from Mehtab Singh allowed Parthib Gogoi to score with a superb finish.
Bipin Singh put the visitors back in front just before the half-hour mark, heading home from Stewart's inch-perfect cross. Jorge Pereyra Diaz then scored in the first minute of the second half to kill the game.
With the win, Mumbai City moved two points clear at the top of the table, having played a match more than Hyderabad FC. NorthEast United, meanwhile, became the first team in ISL history to lose seven successive matches and are rock bottom in the standings with no points.
Here are the player ratings for both teams:
Mirshad Michu - 6/10
Michu was at fault for Mumbai City's third goal, but was brilliant otherwise, making an incredible 10 saves, including six from inside the box, to keep the score down.
Gurjinder Kumar - 6/10
Gurjinder enjoyed an average outing and was one of his side's better defenders, largely keeping Lallianzuala Chhangte quiet.
Michael Jakobsen - 5/10
Jakobsen struggled to cope with the fluency and switching of Mumbai City's attack and was often caught out of position. He failed to command his defense against an evidently superior opponent.
Aaron Evans - 5.5/10
Evans was neat with his passing but also struggled against the Islanders' forwards.
Joe Zoherliana - 5/10
It was a night to forget for Zoherliana, who was ripped to shreds by Bipin Singh, with Mumbai City often targeting his flank.
Jon Gaztanaga - 5.5/10
Gaztanaga was lucky to get away with a couple of dangerous pass attempts near his own area. He couldn't have his usual influence on the game, though he completed all but two of his 26 passes and registered three tackles.
Rochharzela - 4/10
Rochharzela was a non-factor going forward, missing a gilt-edged chance to test Phurba Lachenpa in the first half. He was unlucky to concede a wrongly adjudged penalty, having fouled Stewart outside the box, and largely struggled for much of the game.
Pragyan Gogoi - 5.5/10
Gogoi won the ball high up the pitch to start one of NorthEast United's best moves of the game but was largely helpless against a superior Mumbai City midfield.
Romain Philippoteaux - 7/10
Philippoteaux was the Highlanders' best player and laid out a team-high four key passes. He got the assist for Parthib's goal after intercepting Mehtab Singh's pass but his effect was nullified by the Islanders in the final 25 minutes of the second half.
Imran Khan - 6.5/10
Imran Khan looked bright in the first half and once again linked up well with Philippoteaux, laying out one key pass. He received a glorious chance to bring NorthEast United back into the game in the second half but could only find the side netting.
Parthib Gogoi - 7/10
Parthib showed incredible composure to score his first-ever ISL goal, taking the ball beyond Rostyn Griffiths twice before finding the roof of the net. He didn't receive much service otherwise but still contributed to NorthEast United's build-up play.
Wilmar Jordan (Gaztanaga 57') - 6/10
Jordan had little service to feed off of, getting just 14 touches during his near-40 minute stay on the pitch for NorthEast United.
Mohammad Irshad (Rochharzela 57') - 6/10
Irshad contributed defensively immediately after coming on and looked fairly solid, recording three interceptions, two clearances and two tackles.
Emil Benny (Parthib 68') - 5/10
Benny barely got on the ball, though he did lay out one key pass during his time on the pitch.
Emanuel Lalchhanchuaha (Pragyan 79') - 5/10
Lalchhanchuaha had just five touches of the ball after coming on, but completed all five of his passes.
Gani Nigam (Imran 79') - 5/10
Nigam also had only five touches, with NorthEast United effectively out of the game by the time he came on.
Phurba Lachenpa - 6/10
Lachenpa was comprehensively beaten for NorthEast United's goal but was barely troubled otherwise.
Vignesh Dakshinamurthy - 7/10
Dakshinamurthy was active defensively, recording five tackles and two interceptions. He wasn't as much of a factor in attack, but still contributed a key pass.
Mehtab Singh - 6/10
Mehtab Singh poorly gave the ball away for NorthEast United's goal, but recovered well to put in a solid display.
Rostyn Griffiths - 6/10
Griffiths looked a little shaky in both halves and fortunately saw an error in the first half go unpunished. His passing was superb, however, as he misplaced just four of his 80 passes and even completed 11 of his 14 long-ball attempts.
Rahul Bheke - 7/10
Bheke was largely untroubled by NorthEast United's attack, but still came up with four interceptions and completed 85% of his passes in a neat showing.
Vinit Rai - 7/10
Rai recycled possession well, completing 93% of his passes while also linking up in some promising positions with Bipin Singh.
Ahmed Jahouh - 9/10
Jahouh did what he does best, spreading the play out and driving Mumbai City forward. He opened the scoring with a well-struck penalty that shouldn't have been awarded and ended the night with the most touches (113) and passes (81 of 95 completed).
Greg Stewart - 9.5/10
Stewart was simply unstoppable and proved once again why many consider him to be the best player in the ISL since the start of last season. The Scot won the penalty for Mumbai City's first goal, though he was fouled outside the area before assisting Bipin Singh's go-ahead goal.
He ended the game with a barely believable stats. Stewart laid out five key passes, completed 94% of his passes, had six shots on target and even hit the crossbar. It all looked too easy for him at times against NorthEast United and he only gave opposition fans more reason to worry.
Bipin Singh - 9/10
Bipin Singh continued his terrific start to the season by scoring Mumbai City's second goal of the game with a neat header on the counter-attack. He was a constant threat to NorthEast United's defenders with his pace and on-ball ability, laying out a game-high five key passes.
The winger was involved in the third goal as well, with Pereyra Diaz converting the rebound after Bipin's shot was saved.
Jorge Pereyra Diaz - 7.5/10
Pereyra Diaz's link-up play was excellent once again and he crowned a solid performance by scoring the Islanders' third goal with a poacher's finish. He also laid out two key passes.
Lallianzuala Chhangte - 6.5/10
Chhangte wasn't as consistent as the rest of Mumbai City's attack, but still contributed two key passes and a shot on target.
Alberto Noguera (Pereyra Diaz 65') - 7/10
Noguera oozed class after coming on, instantly linking up with Mumbai City's midfield and attack. Despite spending just shy of 30 minutes on the pitch, he completed 20 of his 22 passes, forced a save from Michu and recorded three tackles.
Rowlin Borges (Rai 66') - 7/10
Borges was extremely composed in possession and displayed an incredible passing range during his time on the pitch.
Mourtada Fall (Jahouh 83') - 6/10
Fall came on late to help Mumbai City see out the game and did just that with consummate ease.
Vikram Pratap Singh (Chhangte 88') - 6/10
Pratap Singh came close to scoring in added time, forcing a superb save from Michu.