The Norwegian international moves to the Emirates Stadium in search of regular first team football.
After an impressive loan spell with Real Sociedad last season during which he scored seven goals and provided nine assists in 36 appearances across all competitions, Odegaard returned to Real Madrid at the start of this season but has had little game time to show his worth.
The 22-year-old made just nine appearances for Real Madrid in the first half of the season and Mikel Arteta has now convinced Odegaard to move to North London to play regularly.
"I spoke to him (Arteta) before coming here, of course," Odegaard told Arsenal's website. "That was very important for me and he seems like a top manager and I liked his ideas, the way he sees football and also the way he is.
"He gave me a great feeling and that was important for me to come here. He was crucial.
"I think every time you go to a new place, you want to make sure that it feels good and that there is a plan. But I think everything here just seems good. I like the club and I always liked the way that the club wants to play. Everything about the club and now how the manager wants to play, I think it's a club that really suits me well. So I think it's a good match."
Odegaard will wear the number 11 jersey and is available to make his debut against Manchester United this weekend.