The Red Sox tacked on two runs in the eighth thanks to RBI hits by Mike McCoy and David Ross.
Lackey was stellar in his final tuneup of the spring, allowing just four hits in 6 1/3 innings, striking out six and walking one.
"He had his sharpest outing of the spring. He goes into the start of the season in very good shape," Red Sox manager John Farrell said. "He had good power and good action to his breaking ball. He also had his cutter and curveball working. It was a very productive spring from John."
Twins starter Kevin Correia held his own against Lackey, allowing one run on six hits in five innings. He struck out one and walked one.
The Red Sox got on the board in the second inning thanks to an A.J. Pierzynski double down the left-field line. The hit scored Mike Napoli, who led off with a single.
The Twins tried to get a two-out rally going in the fifth inning after stringing together singles from Aaron Hicks and Pedro Florimon, but Brian Dozier grounded out to end the threat.
Hicks plated the Twins' only run of the game when he belted a double off Edward Mujica, scoring Nate Hanson.
"We did a few good things, but we're just not putting anything together," Twins manager Ron Gardenhire said. "Lackey threw the heck out of the ball, but I'd like to see us swing a little better."
Up next: Right-hander Phil Hughes makes his final start of the spring on Friday, against the Red Sox in a 1:05 p.m. ET contest at Hammond Stadium, free on MLB.TV. In four Grapefruit League starts, Hughes is 0-1 with a 3.95 ERA.
Quinn Roberts is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.