Regarded as one of the best young talents in world football, the 21-year-old joined the Bundesliga side from RB Salzburg midway through the 2019-20 season.
There has been widespread talk of a move to City in recent months and the Premier League leaders have now confirmed a deal to sign Haaland from Dortmund.
The club revealed that they still need to finalise details with the player before they can officially announce the transfer.
A short statement on the Premier League club’s website read: ‘Manchester City can confirm we have reached an agreement in principle with Borussia Dortmund for the transfer of striker Erling Haaland to the Club on 1st July 2022.
‘The transfer remains subject to the Club finalising terms with the player.’
Speaking before the announcement this afternoon, Guardiola told reporters at his press conference: “Everybody knows the situation. I shouldn’t talk because I don’t like to talk about the future or next season. Borussia Dortmund and Man City told me I’m not allowed to say anything until it’s completely done.
Guardiola added: “I’d love to talk but they tell me don’t say anything until (after) the legal actions. We’ll have time to talk, not because I don’t want to.”
And shortly before the announcement was made, The Times reported that the fee that Man City had agreed with Dortmund was actually much lower than the rumoured €75million (£64.2million) release clause.
In fact, they claim City will only pay €60m (£51m) for Haaland this summer with The Times adding that ‘with agents fees and bonuses factored in, the total cost of the deal comes to about £85.6m’.
Haaland will reportedly earn a similar amount of money to Kevin de Bruyne and the Norwegian ‘has signed a long-term deal worth about £400,000 a week’ despite the club insisting that nothing has been agreed with the player.