Aridane Santana (58') put Hyderabad ahead but Goa left it late and scored through substitute Ishan Pandita (87') and Angulo (90') to inflict a third successive defeat on Manuel Roca's side.
Joel Chianese, making a return from injury, was among the three changes made by Hyderabad while Lenny Rodrigues came back in the line-up for Goa. Both teams failed to create clear-cut chances in the first half, which saw zero shots on target, but Goa were the more threatening side.
Goa missed the chance to grab the lead in the 10th minute through the first corner of the game. Brandon Fernandes whipped in a teasing cross for James Donachie but the defender failed to get his header on target. Goa fashioned another great chance right before the end of the break. Receiving the ball on the left, Brandon cut inside and flicked the ball for Angulo in the box. The latter tipped his header over the bar.
Hyderabad began the second half aggressively, and their intent soon paid off as they opened the scoring just before the hour mark.
Goa, who have been guilty of conceding from set-pieces, were exposed again. Hyderabad won a throw-in and Asish Rai crossed the ball for Aridane, who headed home from close range to bag his fifth goal of the season. Goa too had their chances and missed a great opportunity to draw level in the 69th minute. Brandon drilled a cross across the face of goal for Jorge Ortiz Mendoza, who made a run into the box but failed to connect.
- Indian Super League: Stream LIVE on ESPN+ (U.S. only)
Two minutes later, Aridane had the ball in the back of the net, after receiving a ball from Yasir, but was flagged offside. Goa kept knocking on the door but lacked the cutting edge in the final third.
The equaliser came through a set-piece as Pandita flicked in Edu Bedia's free-kick at the far post with his first touch of the game. Minutes later, Angulo netted his ninth goal of the season. Substitute Alberto Noguera threaded a ball through for the striker who produced an excellent finish to seal the three points for Goa.