Bolsonaro said a new track in the western neighborhood of Deodoro will be built for the race, adding that a tender process would be launched in the coming weeks.
"The Rio de Janeiro circuit will be finished six or seven months after the start of construction work," Bolsonaro told reporters.
However officials questioned whether the race could in fact be held in Rio so soon, given that Sao Paulo's Interlagos circuit is contracted to stage the event until 2020.
There are also doubts about whether the new circuit - which will reportedly bear the name of late Brazilian Formula One legend Ayrton Senna - would be ready in time. Preliminary tender documents outline a two-year work timetable for the track's completion.
According to Bolsonaro, Formula 1 executives have given tacit support for the race to be held in Rio.
Interpub, the company responsible for organizing the Brazilian Grand Prix, and the Sao Paulo city government insisted the race would be staged at Interlagos in 2020.
"There is a contract in place to hold the Brazilian Grand Prix in Sao Paulo until 2020 and both sides continue to honor their commitments," Interpub said in a statement.
Sao Paulo's city government added: "Talks are even going ahead to extend the current contract. Interlagos is the only circuit in Brazil that is certified for a Formula One race," it said.
Interlagos was Brazil's first Grand Prix home in the 1970s before losing its host status to Rio de Janeiro's Jacarepagua circuit in 1981. The event returned to Interlagos in 1990 and has remained there since.