Goncalves scored in the 15th and 21st minutes for Chennayin before Diego Mauricio struck a screamer in the 64h minute to give Odisha some hope.
Chennaiyin FC and Odisha FC played out a goalless draw in the early kick-off.
It was a royal performance from the Nizams as they raised the level of their game after a goal-less first half to pump in four goals in the second session for a commanding victory.
The point from the draw meant that the Kolkata heavyweights (17 points, eight matches) edged past Mumbai City (16 from seven matches) to the top of the table with a one-point lead.
Chennaiyin took the lead twice, through Lallianzuala Chhangte (13') and Rahim Ali (64'). However, Matti Steinmann's twin strikes (59', 68') saw Robbie Fowler's side split honours in an exciting encounter.
FC Goa tried their best through Igor Angulo and Ortiz to get the equaliser but Chennaiyin's defense was too tough to crack.
Adam Le Fondre smashed in a 75th-minute winner after Hernan Santana (45’) had canceled Jakub Sylvestr’s first goal. The result saw Sergio Lobera's team win their fourth game on the trot.
A 56th-minute penalty by Sunil Chhetri was the difference between the two teams as Chennaiyin suffered their first loss of the season.
Blasters should bear in mind that it is important to win as many games as possible at the start if they are to finish somewhere in the top four positions.
Jakub Sylvestr's penalty was saved by the Blasters custodian in the 74th minute.