The Italian rider was joined by Idar Andersen (Uno-X Pro) in a similar, powerful move off the front of the peloton and the two swapped turns into the finish, where Moscon was able to outsprint Andersen and hold off the surging main bunch.
Andersen just held on for second as Alexandr Riabushenko (UAE Team Emirates) led the main group home for third.
"There's no better way to get back racing after two months away due to an injury," Moscon said after the stage. "I've lived in Innsbruck for three years and so I was really motivated to try to win at 'home'.
"It gave me that bit extra that made the difference. Knowing the roads was an advantage, especially psychologically; I knew what was coming and knew how to judge my effort. Of course, you need the legs too and it worked out perfectly."
The win – Moscon's first since claiming the overall in the Tour of Guangxi in 2018 – sees Moscon grab the race lead, four seconds up on Andersen, who takes the young rider's jersey. While the race win will likely go to one of the many Giro d'Italia hopefuls present on the startline, Moscon said he'd enjoy his time back in the winner's circle.
"The battle for the GC will be hard because some of the best climbers in the world are here as they get ready for the Giro d'Italia," said Moscon. "We'll try to defend the lead, but I know I might struggle. I just want to enjoy doing the second stage in the leader's jersey."
Alessandro De Marchi (Israel Start-Up Nation) was clearly keen to jump into every early attack on the short opening stage to the Tour of the Alps and it was no suprise when the move that eventually stuck was sparked by the Italian. He got away on his own with several chasers behind, including Marton Dina (Eolo-Kometa) and Felix Engelhardt (Tirol-KTM) who eventually formed at the front of the race as the trio to catch for the peloton.
The main bunch kept a watchful eye on the break on the short stage and as the riders tackled the Axams climb with De Marchi caught as the last man free off the front. Numerous attacks lit up the climb, but it wasn't until the subsequent descent that Pello Bilbao (Bahrain-Victorious) was able to launch a move, detaching himself from the front of the peloton as three others joined him. Mattias Skjelmose Jensen (Trek-Segafredo), Santiago Umba (Androni Giocattoli-Sidermec), and Daniel Savini (Bardiani-CSF-Faizanè) formed a working group off the front of the race .
The quartet sped down to the flat roads at the bottom, enjoying an advantage of 20 seconds with eight kilometres to go as a number of teams – most prominently Ineos Grenadiers and Caja Rural-Seguros RGA – started a more concerted chase.
Moscon launched his brutal attack just as the breakaway were being reabsorbed into the peloton, then Andersen joined him at the head of affairs within the final two kilometres, able to give Moscon a brief spell in the final kilometre which helped the pair ward off the peloton. Moscon had the most left in the tank for the final sprint, taking the stage win and race lead as Andersen had to settle for second and the young riders' jersey.