John Menyongar put Bengaluru ahead in the 21st minute but Mohammedan drew level through Josimar just before the interval (45+1).
Chhetri restored Bengaluru’s lead in the 48th minute before Josimar again restored parity in the 57th minute to set up a thrilling final half hour.
However, Chhetri ensured a fourth straight win for his club by finding the net for the second time in the 71st minute as the league leaders swelled their points tally to 27 from 13 matches.
Mohammedan Sporting remain tenth with 13 points from 12 outings.
Meanwhile, Pune FC blew off a two-goal lead as they went down 2-3 to Rangdajied United in another Round 14 encounter at the Jawharlal Nehru Stadium in Shillong.
Goals from striker Riga Mustapha (23rd minute) and defender Gurjinder Kumar (34th) out Pune FC in command going into half-time.
But striker Edmar Figueira (61st) pulled one back for the hosts at the hour mark, before injury time strikes from striker Kim Song Young (90+3rd) and substitute Lalnunpuia (90+4th) handed Pune FC their second straight defeat.
The defeat was Pune FC’s third defeat in the season and they now slip down to fifth place with 19 points. The hosts stay 12th with 11 points.
Image: India Skipper Sunil Chhetri (right) celebrates with Bengaluru FC players
Photograph: AIFF Media
I-League: Mohun Bagan hammer United SC 4-0
I-League: Chhetri double strike helps Bengaluru beat Shillong
Squad for football friendlies: Gouramangi, Paul left out
Indian football coach Koevermans' contract extended
Chhetri becomes India's all-time leading scorer in win over Nepal