The 28-year-old full-back, who has 71 international caps for Wales, had been looking for a new club after French top 14 outfit Toulon decided against offering him an extension when his three-year contract expired at the end of last season.
The British & Irish Lions star had been linked with a move to Aviva Premiership sides Bath and Wasps but both clubs moved to quell talk of a deal for Halfpenny.
Scarlets made no secret of their desire to take him back to his homeland, but his wages were always an issue for the reigning Pro12 winners.
But the WRU have stepped in to pay 60 per cent of his wages in a National Dual Contract [NDC] and Halfpenny is delighted to get the opportunity to join Scarlets.
The former Cardiff Blues man said: "I'm delighted to be coming back to play in Wales.
"I would like to thank the Scarlets and the WRU for giving me the opportunity to sign a National Dual Contract [NDC] and can't wait to get started."