The side came from 1-0 down to score three unanswered goals and give themselves a good chance of qualifying from Group C.
Gleyse Priscila Portioli de Souza gave Brazil the lead with a powerful shot after two minutes. Jessica Luke responded by delivering shots with extra pace and levelled the scores before team-mate Anna Sharkey scored either side of the break to clinch victory for her side.
Neusimar Clemente dos Santos gave away a 10-second penalty but it was saved well.
The results and performance of the young Great Britain side, whose three starting players have an average age of 22, have improved with each match and they now have four points with one match to play in the group stage.
Brazil's Claudia Paula G de Amorim Oliveira said afterwards: 'The beginning was very calm. All we wanted to do was to draw this match.
'We didn't play very well as a team. We were nervous. The crowd affected our team and our attention, but from here it's all or nothing.'
Georgina Bullen of Great Britain said: 'We wanted this game, we deserved it. We didn't change our tactics, we stuck to what we knew. In fact we cancelled our training session yesterday and just relaxed.
'This is the first British win in the Copper Box. It's incredible.'