Isak was unveiled by the Spanish club on Wednesday as he signed a five-year deal that will keep him with the club through till June 2024.
The 19-year-old Sweden international departs Dortmund after three seasons having made just 13 appearances for the club before heading to the Eredivisie on loan this past January.
"I am very happy to be here, it has been a very good year and finishing it by signing for Real is very good for me," Isak said.
"I really want to start, I've heard a lot about the club, I know it's a young team. I thank you for believing in me and I hope that together we can achieve the objectives.
"I am a player who likes to have the ball, with good technique and who works hard for the team. I think I can help by scoring goals and I hope we do well."
Club president Jokin Aperribay added: "Best wishes for you and your family in these five years. We are convinced that they will be very beautiful years for the Real, with a young team and eager to learn and face the future."
Isak's move comes on the heels of an incredible loan spell in the Netherlands with Willem II, having joined the club in January after making no Bundesliga appearances through the first half of the season.
The forward became the first foreign-born player to score 12 goals in his first 12 league games in the Eredivisie while also becoming the first player to score three penalties in one Eredivisie match.
In total, Isak finished with 14 goals in 18 appearances for Willem II as they finished 10th in the Eredivisie, with the forward equalling Fran Sol as the club's leading scorer.
Isak has earned six caps with Sweden, scoring two goals, with one coming on June 7 in a Euro 2020 qualifying win over Malta.
He will now join a Real Sociedad team that finished ninth in La Liga.
Winger Mikel Oyarzabal was the club's leading scorer with 14 goals while forward Willian Jose chipped in with 11 finishes this campaign.