Gosens has signed a 4-1/2 year contract in Milan and moves on loan with an obligation to buy.
The 27-year-old becomes the Serie A leaders' first signing of the January transfer window and will compete with Ivan Perisic for the left wing-back spot in Simone Inzaghi's side.
"I'm so proud to have joined one of the biggest clubs in Europe," Gosens said. "I'm thrilled to be here and can't wait to get started.
"It wasn't a difficult decision for me. I didn't need any convincing because I also know it's a huge club.
"Some incredible German players have made history at this club. I hope to be part of that myself. That's my ambition."
Inter's statement did not mention a fee, but Sky Italia reported that the buyout clause is set at €25 million ($27.87 million) plus €3m in bonuses.
Gosens played a key role at Atalanta achieving three consecutive third-place finishes in Serie A, and started every match for Germany at Euro 2020 last year.
However, this season the left wing-back has been sidelined since September with a hamstring injury and is not expected to return for at least another month.
Gosens joined Atalanta from Dutch club Heracles in June 2017 and became one of the best wing-backs in Serie A.
The German's threat going forward flourished in Gian Piero Gasperini's attack-minded side and Gosens has scored 20 goals and provided 14 assists over the last two seasons.
He has been limited to eight appearances in all competitions this term, scoring twice, before suffering injury in a Champions League group match against Young Boys.
They face their local rivals in the Milan derby on Feb. 5 in a key moment for the title race.