In a statement, Dortmund revealed that the 19-year-old, who scored eight times in the group stage of this season’s Champions League, had signed a contract until 2024 but did not mention a fee.
Haaland has caught the eye of clubs around Europe after scoring 28 goals in 22 games in all competitions so far this campaign, with RB Leipzig coach Julian Nagelsmann admitting earlier this month that they were trying for the Norway striker’s signature.
“From the beginning I had the feeling I definitely wanted to switch to this club, to walk this path,” Haaland said.
In a video posted to the Dortmund website, he wished Dortmund fans a happy new year as he pored over a 2020 to-do list topped with “learn German”.
Earlier in December, the forward had been spotted by local media landing in the west German city to meet with club representatives.
“Despite many offers from the very top clubs across Europe, Erling Haaland has chosen the sporting challenge at BVB (Dortmund),” chief executive Hans-Joachim Watzke said in a statement.
“We can all look forward to an ambitious, athletic and physically strong centre forward… at 19, Erling is right at the start of what will hopefully be a great career.”
Haaland became the third youngest player to score a Champions League hat-trick when he netted three times in a 6-2 victory over Genk in September.
Only Wayne Rooney, England’s record goalscorer, and Spain great Raul managed the feat at a younger age.
Haaland, the son of former Manchester City midfielder Alf-Inge Haaland, scored in his first five Champions League matches.
Despite his impressive form Salzburg failed to reach the last 16 following a 2-0 loss to defending champions Liverpool in their final group game this month.
Dortmund, currently fourth in the Bundesliga, are looking for a new striker with Mario Goetze and Spain international Paco Alcacer struggling for consistency this season.