Cleiton Silva put the Blues ahead with a neat finish in the 66th minute after capitalizing on the Highlanders' indecision in defense. However, Khalid Jamil's side came roaring back through Deshorn Brown's perfectly placed header eight minutes later.
Substitutes Marcelinho and Laldanmawia Ralte then combined to help NorthEast United find the back of the net again soon. Bengaluru FC couldn't muster a response and fell to a second successive defeat.
The result puts Marco Pezzaiuoli's side at risk of failing to qualify for the semi-finals.
Here are the player ratings for both teams:
Mirshad Michu - 6/10
Michu didn't exude much confidence with his handling, but did pull off a couple of excellent saves off Bruno Ramires and Sunil Chhetri. He should've communicated better with Diallo for Silva's goal.
Provat Lakra - 6/10
Lakra was booked early on but didn't let that affect his defensive game as he made two tackles and looked fairly solid. However, he didn't do much to disturb Bengaluru FC's backline.
Patrick Flottmann - 6/10
Flottmann was excellent in the first half, making some crucial blocks to keep Bengaluru FC at bay. He could do nothing about the goal and was taken off in a bid to freshen up his side's attack.
Zakaria Diallo - 6/10
Diallo was partially at fault for Silva's goal, but was composed and solid at the heart of the NorthEast United defense otherwise.
Joe Zoherliana - 7.5/10
Zoherliana showed Bengaluru FC exactly what they missed in Naorem Roshan Singh's absence. The full-back was a menace throughout the contest and got the assist for Brown's goal.
Zoherliana should've had another assist to his name as well, but Imran Khan headed wide from point-blank range.
Pragyan Gogoi - 6/10
Gogoi also helped NorthEast United in defensive areas, even recording a tackle, but couldn't move his team forward from midfield. He managed just 13 successful passes.
Hernan Santana - 7/10
Santana ensured he helped out his defense and also looked to drive his team forward as always. The Highlanders' midfield general managed five shots (one on target), three key passes and a tackle in a thorough display.
Mohammad Irshad - 6/10
Irshad worked hard defensively, often helping NorthEast United quell the Blues' attacks. However, his side needed a little more from him going forward.
Imran Khan - 5.5/10
Khan should've really scored in the first half, but put his header wide from unmissable range. He faded away in the second 45, but did release Suhair with a good pass that opened up the Bengaluru FC defense.
Deshorn Brown - 6/10
Brown had a mixed outing against the Blues. He scored with a sublime looping header but missed some glorious chances, hitting the crossbar in the first half and skying over from close range at the death.
Brown also won three fouls and made two tackles.
VP Suhair - 7/10
Suhair was once again the hardest working NorthEast United player. He had three shots (one on target) and also won a couple of fouls. The Highlanders forward also recorded three key passes and four tackles, both team-high figures.
Laldanmawia Ralte - 7/10
Ralte came on for Irshad in the 61st minute. He scored the goal that put his side ahead with an instinctive finish on the stretch after Sharma saved Marcelinho's shot.
Jestin George - 6.5/10
George replaced Gogoi in the 70th minute. He shored up their midfield and also played a role in his side's winner.
Tondonba Singh - 6/10
Tondonba Singh replaced Lakra in the 70th minute. He got himself stuck in to help his side hold their lead and see the game out.
Marcelo Pereira - 7/10
Marcelinho replaced Flottmann in the 70th minute. He was generally bright and also played a part in NorthEast United's winner.
The forward went on a brilliant run to release a good shot, which was saved by Sharma, but eventually put in by Ralte.
Gani Nigam - N/A
Nigam came on for Suhair in injury-time and hardly saw the ball.
Lara Sharma - 6/10
Sharma did well on a couple of occasions to keep NorthEast United out, but was completely beaten by Brown. He received very little help from his defense for the second goal too.
Namgyal Bhutia - 5.5/10
Bhutia made one incredible run to create a chance for Cleiton Silva but lacked the killer pass in the final third for much of the game. He was fairly solid defensively though, making one tackle.
Yaya Banana - 6/10
Banana seemed to be winning his personal battle against Brown for much of the game. However, a minor lapse in concentration saw him allow the NorthEast United forward to jump higher to head the ball home for the equalizer.
Alan Costa - 6/10
Costa looked fairly solid in the first half but was caught ball-watching for the Highlanders' first goal. To his credit, though, he did make four important tackles.
Parag Shrivas - 5/10
Shrivas made a couple of errors that went unpunished before being hooked off just 30 minutes into the game with an injury.
Danish Farooq - 7/10
Farooq's decision-making in the final third has come under scrutiny this season, but his cross for Bengaluru FC's opener was excellent. The midfielder enjoyed a good game and also made two tackles while completing 92 percent of his passes.
Bruno Ramires - 6.5/10
Ramires was dominant in midfield and also forced a fantastic save from Michu in the second half. He also made two tackles and made it difficult for NorthEast United to bypass the Blues' midfield.
Suresh Wangjam - 6.5/10
Wangjam had his moments but could've done a little better for Bengaluru FC in this contest. He reaped the benefits of Ramires' good performance and made some key interventions to snuff out the Highlanders' attacks.
Sunil Chhetri - 6/10
Chhetri worked hard all night but had just one shot on target to show for his efforts. He did record two key passes, but the Blues clearly needed more from their star forward.
Cleiton Silva - 7/10
After a quiet first half, Silva showed brilliant poacher instincts to score Bengaluru FC's opener. He troubled Michu with a couple of efforts aside from that as well and looked sharper in the second period.
Udanta Singh - 7/10
Udanta Singh was a constant threat to the NorthEast United backline and sent in multiple dangerous crosses without much reward. He recorded a team-high four key passes and provided Bengaluru FC with plenty of poise from out wide.
Wungngayam Muirang - 6/10
Muirang came on for Shrivas in the 31st minute. He wasn't too much of an improvement, though, and gave Zoherliana too much space to swing a cross in for NorthEast United's equalizer.
Ajay Chhetri - 6/10
Chhetri replaced Bhutia in the 58th minute. He saw a lot of the ball and helped his team push forward in search of a goal.
Pratik Chaudhari - 5.5/10
Chaudhari came on for Farooq in the 79th minute. He was beaten far too easily by Marcelinho for the Highlanders' winner.
Prince Ibarra - 6/10
Ibarra replaced Banana in the 79th minute. He did get into promising areas but couldn't score an equalizer for Bengaluru FC.