BOSTON — John Lackey struck out a season-high 12 over seven strong innings and Daniel Nava drove in two runs, leading the Boston Red Sox to a 5-3 victory Wednesday and a sweep of the two-game series against the Colorado Rockies.

Shane Victorino had three hits and Dustin Pedroia added two for the Red Sox.

Colorado’s Michael Cuddyer extended his hitting streak to 23 games with two solo homers, matching Dante Bichette’s club-record set in 1995.

Lackey (5-5) gave up two runs and eight hits without walking a batter. Mixing a fastball and slider most of the time, he had good command, throwing 73 of 98 pitches for strikes.

The Rockies finished a road trip in which they lost seven of nine.

Roy Oswalt (0-2), making his second start since being recalled from Double-A, allowed five runs and nine hits in six innings, striking out five and walking one.

Lackey, who missed all of last season rehabbing from elbow ligament-replacement surgery, struck out nine over the first four innings — getting three each in the first, second and fourth — while allowing Wilin Rosario’s first-inning RBI single.

The 34-year old right-hander had his 14th career double-digit strikeout game, his first since Oct. 3, 2010.

New Boston closer Koji Uehara worked a perfect ninth for his second save.

The Red Sox wasted little time jumping to a 3-1 lead against Oswalt in the first. Jacoby Ellsbury had a leadoff double and scored on Victorino’s single to right. David Ortiz followed with his 499th career double, a drive high off the Green Monster that scored Victorino. Nava then had an RBI single when the ball bounced off the second-base bag and into short left just as shortstop Josh Rutledge was attempting to make a play on it.

Oswalt, 3-2 with a 2.16 ERA Double-A Tulsa, struck out 11 without allowing a walk in his first start against Washington last Thursday.

Boston increased it to 5-1 in the third on an Mike Napoli’s bases-loaded RBI single. He improved to 6 for 9 and four RBIs this season with the bases full. Nava followed with a sacrifice fly before Oswalt got the next two outs to strand runners on second and third.

In the sixth, the Rockies cut it to 5-2 on Cuddyer’s leadoff homer off a billboard above the Monster seats. They had runners on first and third with one out before Lackey struck out Tyler Colvin and got Yorvit Torrealba on a liner to center.

In the eighth, Cuddyer hit a different sign above the left-field seats leading off against Junichi Tazawa.

Colorado had grabbed a 1-0 lead on when Rosario singled after Carlos Gonzalez singled and stole second.

NOTES: Cuddyer had his ninth career multihomer game, first since July 24, 2012, at Arizona. ... Boston had double-digit hits for the fifth straight game. ... Red Sox RHP Clay Buchholz, on the DL since June 9 with a neck strain, had to cut short a bullpen session. Manager John Farrell said he was expected to have an MRI. ... Boston entered the day leading the majors with 172 doubles and hd three more. ... Rockies OF Dexter Fowler was out with a sore right wrist. ... The Red Sox activated RHP Clayton Mortensen from the 15-day disabled list after optioning RHP Pedro Beato to Triple-A a night earlier. Mortensen was sidelined since June 11 with a strained right groin. ... The teams are schedule meet again in Colorado on Sept. 24 and 25 for the Rockies’ final two home games of the season. ... The Rockies host the Mets in a make-up of the teams’ April 17 snowed-out game. New York’s Tyler Chatwood (4-1, 2.22 ERA is slated to face Jeremy Hefner (2-6, 3.89 ERA). ... Boston is scheduled to play the first of four against the Blue Jays Thursday. Jon Lester (7-4, 4.57ERA) is expected to face Toronto’s Chien-Ming Wang (1-0, 2.18). ... Boston’s Stephen Drew had a triple for the second straight game.