The deal was announced Monday.
In 34 major league games with the Nationals over the past three seasons, Leon hit .189 with three doubles, one homer and five RBIs. He is a career .236 batter in the minors.
The Red Sox said Leon will be assigned to major league camp. They put catcher Christian Vazquez on the 60-day disabled list with a right elbow sprain, a move that made room for Leon on the 40-man roster.
Vazquez hit .240 with nine doubles, one homer and 20 RBIs in 55 games for Boston last season.