Chris Paddack articulated a simple goal — at least in concept — in his pregame meeting with pitching coach Pete Maki and catcher Ryan Jeffers.

“I told Jeffers, ‘First-pitch strikes tonight. I want to get back to attacking the zone,” Paddack said.

He couldn’t have done much better accomplishing it.

Paddack threw first-pitch strikes to 20 of the 25 batters he faced, in attack mode all night as he flirted with perfection. His bid for the history books and a perfect game came to an end in the sixth inning with two outs when Christian Koss lined a single to center after Paddack had retired the first 17 batters of the game in order.

But the right-hander’s dominant performance led the Twins to their sixth-straight victory nonetheless, a 3-1 win over the San Francisco Giants on Friday night at Target Field.

“He came out firing. He was all over the strike zone. He made stuff happen,” manager Rocco Baldelli said. “I mean, he was awesome. That was like guns blazing.”

Paddack, who hadn’t pitched past five innings this season, was sharp and efficient in his 7 1/3-inning effort, leaving to a standing ovation from the Target Field crowd and hugs from his teammates on his way to picking up his first win of the year.

Working with velocity that was up on every pitch from his season average — it was up 1.4 mph on his four-seam fastball — the starter carved through the Giants’ (24-15) lineup.

“I think it helps a little bit when you have a little more on it, but it helps a lot when you have a little more on it and you’re commanding the hell out of it, too, and that’s what he did,” Baldelli said. “And it wasn’t just the heater. Everything played off of everything else is what happened and it was just a very high level of pitching from top to bottom.”

Along with the first-pitch strikes, Paddack did not allow a three-ball count until the sixth and he did not issue a walk in the start, a particular point of pride for him after being a particular source of frustration.

“What I do best is attack the zone,” Paddack said. “Hitters know that, but I also know that, and tonight was a perfect example of that. If I can attack the zone, get guys uncomfortable up there when they’re behind in counts, we have the advantage.”

Paddack said he was aware that he was carrying a perfect game after the first inning — “you’re lying if you say you’re not” — but it became more of a reality as the start went on.

The bid for perfection almost never happened.

A ball that Willy Adames, the second batter of the game, hit out to left was initially ruled a home run before a review showed it to be just foul. Besides that, Paddack faced little trouble from the Giants for most of the night, throwing under 10 pitches in three of his innings.

His only blemish on the day came when San Francisco third baseman Matt Chapman hit a home run in the seventh, stopping Paddack’s shutout attempt. He wound up pitching into the eighth, replaced by Louie Varland with a runner on base. Varland quickly got the Twins (19-20) out of the inning, preserving the lead.

With Jhoan Duran and Griffin Jax having thrown on consecutive days heading into Friday, the Twins turned to southpaw Danny Coulombe in the ninth and he recorded his second save of the season.

“When you don’t have those guys available that are normally pitching in the seventh, eighth, and ninth inning, and you have to make it work, and they do, your bullpen goes out there and does the job, that’s very rewarding,” Baldelli said.

The Twins had jumped out to a lead immediately, their offense jumpstarted by Byron Buxton, who tripled to lead off the bottom of the first. He quickly came around to score on Trevor Larnach’s RBI knock.

They added another run in the fourth when Carlos Correa’s single brought home Ty France, and scored their third run of the game an inning later when Harrison Bader came in after left fielder Heliot Ramos bobbled a ball hit towards him.

And on Friday, that was more than enough run support for Paddack.

“He showed us a lot today,” Baldelli said. “It’s as good of an outing as you could ever ask your starting pitcher to give you.”