The Premier League champions are set to trigger the €75m (£64m) release clause in the 21-year-old’s contract, having reached an agreement on personal terms.
Haaland is expected to sign a five-year deal at the Etihad and become one of the club’s highest earners.
Dortmund said on Monday that Haaland had been granted permission to take care of “personal matters” while the rest of the squad had a day off.
Reports in Belgium suggested that the Norway international completed and passed a City medical at the Erasmus Hospital in Brussels.
It is thought that an official announcement of Haaland’s signing could be made as early as this week, with Dortmund’s final game of the Bundesliga season coming on Saturday against Hertha Berlin.
City have beaten off competition from a range of top European clubs for Haaland, including Real Madrid, who will instead be forced to focus on the signing of Kylian Mbappé from Paris Saint-Germain.
Haaland has scored 85 goals in 88 appearances since joining Dortmund in 2019 and will join City as one of the most hotly anticipated arrivals to English football in recent memory.
Jurgen Klopp, the Liverpool manager, said that Haaland’s imminent signing would “set new levels” in the Premier League.
Haaland’s arrival ends Pep Guardiola’s long pursuit for a centre-forward after seeing City’s all-time leading goalscorer Sergio Aguero leave the Etihad last year.
City hoped to sign Harry Kane last summer to replace Aguero but refused to meet Tottenham Hotspur’s £150m asking price and elected to wait until Haaland’s release clause activated this year.