The match, a warm-up for the Confederations Cup Brazil will stage from June 15-30, will follow a friendly between the two teams at Wembley next month as part of the Football Association's 150th anniversary celebrations.
"Nothing better than to face an adversary of England's standing a fortnight before the Confederations Cup," Brazil coach Luiz Felipe Scolari said after the Brazilian Football Confederation's announcement on its website.
"It will be a great match, a world classic, of those that everyone wants to be a part of," added 2002 World Cup winning coach Scolari, who is beginning his second spell in charge of the national team.
England have not played a match in Brazil since 1984.
"It's almost 30 years since England last played in Brazil, so it will be a proud moment to take the team back there again," England manager Roy Hodgson said on the FA's website.
The giant Maracana was to have been reopened this February after its $900 million real renovation but delays forced its postponement to May, less than a month before the tournament that acts as a World Cup dress rehearsal.
Venue of the 1950 World Cup final, the Maracana will stage the finals of the Confederations Cup on June 30 and the 2014 World Cup.
Rio's state government had announced late last year that the Maracana reopening match would feature Brazil against England but the CBF would not confirm it at the time.
The CBF confirmed two other friendlies.
Brazil will play Italy in Geneva on March 21 and Russia in London on March 25 at Stamford Bridge, home of Scolari's former Premier League club Chelsea.