C.K. Vineeth scored the winner at Jawaharlal Nehru Stadium. Rafael Coelho provided FC Goa the lead in the ninth minute.
But the match took a dramatic turn early in the second session when Goa captain Gregory Arnolin was sent off for handling the ball and Kerala Blasters won a penalty which Kervens Belfort converted to make it 1-1.
In the 80th minute, Goa were reduced to nine men when Richarlyson was sent off for a double booking and despite Goa's efforts to hold the fort, Vineeth managed to register the winner in added time.
It was a first win for Kerala at home that took them to fourth on the table with 12 points while leaving Goa at the bottom with only seven points after the ninth round of matches.
Kerala Blasters coach Steve Coppell made four changes, introducing goalkeeper Graham Stack, Pratik Chaudhuri, Mohammed Rafique and Michael Chopra to the first team.
Kerala were stunned in the ninth minute when their defenders were caught offguard.
Indian striker Robin Singh had won a free kick out on the left and Richarlyson floated it right inside the danger zone.
Brazilian striker Rafael Coelho did well to jump the highest and head it past the legs of goalkeeper Graham Stack.
Kerala had their own chances to find the equaliser but couldn't and trailed 0-1 at halftime.
The match took a dramatic twist early in the second half. FC Goa captain Gregory Arnolin was adjudged to have handled a deflected ball inside the penalty box and the referee not just awarded a penalty but also sent off Arnolin. Belfort made no mistake with the penalty.
With an additional player, Kerala Blasters enjoyed the advantage but could not surge ahead as Mohammed Rafi, Rafique and Josu Prieto all missed from close range.
Kerala were strengthened further when Goa were reduced to nine men in the 80th minute after Richarlyson was booked for the second time.
Goa packed its defence but despite their best efforts, Kerala grabbed all points very late in the game with Vineeth scoring from close range at the very end.