Skipper M P Sakeer converted a penalty in the fifth minute to give Viva Kerala an early lead, but Opara's strike in the 82nd minute enabled the hosts equalize.
With this draw, Viva Kerala have 25 points from 20 matches while Air India have 24 points in as many matches.
The visitors, unbeaten since losing 0-3 to Pune FC in the 11th round, scored within minutes from the start. Skipper Sakeer converted a penalty, which was awarded after Rueben Senyo was brought down.
Five minutes later Air India had a chance to equalise, but an unmarked striker Kailash Patil failed to utilise Uttam Singh's cross from the left.
Air India enjoyed ball possession for a large part of the match but were unable to create chances.
With time running out, the hosts brought in Reuben D'Souza for Yusuf Abraham Tijani and S Henry Gangte for Praneel Mendon.
The home team finally escaped with a lucky draw when it earned a penalty after Kailash Patil, who was soon replaced by S James Singh, was brought down by Bello Rasaq.