Jon Heyman of MLB Network reported Happ's deal is worth $8 million.
Happ quietly put together a solid bounce-back season in 2020 with the New York Yankees after a disappointing 2019 campaign landed him in the bullpen for that year's playoffs.
The 38-year-old left-hander posted a 3.47 ERA and 1.05 WHIP with 42 strikeouts in 49.1 innings across nine starts during the coronavirus-shortened season.
That was closer to the performance the Yanks expected after he shined in 11 outings after being acquired in a 2018 trade with the Toronto Blue Jays, going 7-0 with a 2.69 ERA down the stretch.
He did struggle in his final outing of 2020, giving up four earned runs in 2.2 innings of a playoff loss to the Tampa Bay Rays, though.
"I've been here for two years and if anyone has heard me make an excuse for my performance in two years, they can speak up," Happ told reporters in October. "It didn't happen. I'm not gonna make an excuse."
His career ERA stands at 3.98 through 324 appearances (298 starts).
Happ has long been a reliable mid-rotation starter and that's the role he'll likely fill with the Twins. He's enjoyed some extended stretches where he's pitched like a top-end hurler, including 2015 with the Pittsburgh Pirates and 2018 with the Yankees, but that's unlikely over a full 30-start campaign.