After much prodding and probing, Bruno Pelissari gave his side the lead in the 71st minute when he slotted the ball home.
Pelissari made the stride after a blunder from Mumbai midfielder Jan Stohanzl, who gave away the ball from the edge of the box before Chennai's Balwant Singh failed to get a touch.
The Marco Materazzi-coached side extended the lead 10 minutes later when Dhanachandra Singh's shot found the back of the net after capitalising on a error from Mumbai custodian Subrata Paul.
The table-toppers missed out on getting a penalty when Mikael Silvestre's shot hit Manuel Friedrich's hand in the 56th minute.
Chennai which had drubbed Mumbai 5-1 when the two sides had met earlier, consolidate their position at the top with 19 points from 10 games, while with 12 points Mumbai is placed sixth in the eight-team league.
Chennaiyin, on the other hand, made three changes to their line-up from the previous game. The league's highest goal scorer Elano Blumer, Colombian striker John Mendoza and Gourmangi Singh were replaced by Bruno Pelissari, Mikael Silvestre and Balwant Singh.
