Boasson Hagen began the 2012 season with a second place to André Greipel in the Down Under Classic. After three top-five placings in stage finishes, he took the lead of the sprints classification after the fourth stage of the Tour Down Under and held the jersey until the end of the race. Boasson Hagen took the lead of the Volta ao Algarve after winning the second stage with a well-timed uphill sprint. He lost the race lead to team-mate Richie Porte on the next stage, after setting Porte up on the final climb, but he won the points jersey. He also won a stage of Tirreno–Adriatico, and acted as lead out man for Mark Cavendish. Boasson Hagen had a disappointing classics campaign, failing to post any major results. He did return to form at his home race, the Tour of Norway, winning the race overall, the points and young rider jerseys, and stage four which finished in his home town, Lillehammer.