Two starts into his final season, CC Sabathia has yet to allow an earned run.

Even at 38 years old, he’s still playing stopper for the Yankees as he closes in on some impressive milestones.

Sabathia earned his first win of the year and Brett Gardner hit a two-run homer as New York beat the Kansas City Royals 6-2 on Friday night.

Mike Tauchman also went deep and the Yankees got four solid innings from their bullpen. They bounced back from a listless performance against last-place Kansas City in the series opener, when they were held without an extra-base hit for the first time since Aug. 5.

Sabathia (1-0) gave up an unearned run and three hits over five innings, improving to 15-1 in the regular season following a Yankees loss since 2017. He threw five shutout innings last Saturday against the White Sox to help New York snap a four-game skid.

Sabathia overcame four walks and finished with five strikeouts to leave him six shy of becoming the 17th pitcher and only third left-hander to reach 3,000.

Sabathia, who has 247 major league wins, was pulled after 86 pitches in his second start following offseason operations on his heart and right knee. He plans to retire after this season, his 19th in the majors.

Right fielder Clint Frazier threw out a runner at the plate to aid Sabathia, and Tauchman launched his second big league homer leading off the fifth.

Luis Cessa permitted a run on back-to-back doubles by Hunter Dozier and Alex Gordon to begin the sixth, but pinned a runner at third base with consecutive strikeouts to preserve a 3-2 lead. Adam Ottavino, Tommy Kahnle and Zack Britton closed with hitless relief in an intermittent rain.

Gardner put New York ahead 2-1 in the third with his drive off Jakob Junis (1-2), making his first appearance at Yankee Stadium since his fastball broke Aaron Judge’s wrist last July. The right-hander dropped to 0-3 in the Bronx.

Judge doubled to start the sixth and scored when center fielder Billy Hamilton made a diving catch of DJ LeMahieu’s bases-loaded sacrifice fly. Luke Voit, who has reached base safely in 30 straight games dating to last season, scored on a passed ball.

Kyle Higashioka hit a leadoff double in the seventh and scored when Dozier made a throwing error from third base on Tyler Wade’s bunt single.

Adalberto Mondesi had an RBI single in the third when the Royals took advantage of two Yankees errors – one by Sabathia. But he retired Gordon on a tapper in front of home plate with the bases loaded to end the inning