The Blue Tigers were heading through from the group stage for the first time in their history with the scores level after 90 minutes at Sharjah Stadium.
When Hamed Alshamsan was tripped by India captain Pronay Halder in the box, Rashed stepped up to win the game and turn Group A around in the 91st minute.
Sayed Dhiya Saeed wasted a series of early chances for Bahrain, who had only scored once in their previous two games at the tournament.
Rashed thought he had given Bahrain the lead when he raced clear to beat goalkeeper Gurpreet Singh Sandhu, but the strike was ruled out by a marginal offside call.
Ali Jaafar Madan fired off target in the 49th minute as Bahrain pushed for the opening goal, with Komail Alaswad then failing to hit the target with a rising drive.
Singh Sandhu's handling of a backpass gave Bahrain a huge chance to win it in the 74th minute but they could not make the indirect free-kick count, Rashed seeing his 12-yard shot deflect over the crossbar.
Another golden opportunity came his way in the closing stages when Alshamsan went to ground under a clumsy challenge from Halder, referee Ilgiz Tantashev pointing to the spot.
Rashed made no mistake, smashing the spot-kick down the middle, with his penalty ensuring Bahrain will go through as one of the top third-placed sides, while India are out after finishing bottom of Group A.