Kris Johnson worked into the ninth to pitch the Central League-leading Hiroshima Carp to a 4-2 win over the Tokyo Yakult Swallows on Wednesday.

Johnson, the 2016 Sawamura Award winner, improved to 5-2. After winning 29 games over his first two seasons in Japan, fitness issues dogged him last season, when he was limited to just 13 games.

On Wednesday, the lefty struck out nine while allowing five hits and issuing two walks over 8⅓ innings, and faced just 26 batters through the first eight innings — two over the minimum.

“The offense played good, the defense played good, I threw a lot of strikes. I can’t complain,” Johnson said. “When you throw strikes and change speeds you can keep guys off balance. It’s the longest I’ve gone all season.”

Kosuke Tanaka got the Carp on the board against David Buchanan (6-5) with a leadoff home run in the bottom of the first. Ryosuke Kikuchi doubled and scored on Yoshihiro Maru’s first-inning single.

“Their guy tonight is a good pitcher, and so I wanted to be aggressive if he made a mistake. The ball I hit caught a good breeze and that helped,” said Tanaka a day after he turned 29.

“I wanted to hit a home run yesterday. This is a day late, but it’s still a nice birthday present.”

Tanaka singled to open the fifth, went to third on an error by Swallows left fielder Wladimir Balentien, and scored on Maru’s second RBI single. Seiya Suzuki doubled in Maru to complete the scoring.

The Swallows chased Johnson with two runs on three hits in the ninth, and Balentien’s one-out RBI single off closer Shota Nakazaki put the tying runner on.

Nakazaki, however, struck out two of the next three batters to record his 21st save.

Buchanan allowed four runs, three earned, on seven hits and two walks. He struck out three in his five innings on the mound.

Tigers 6, Dragons 5

At Nishinomiya’s Koshien Stadium, Ryutaro Umeno belted a three-run homer and singled in an eighth-inning insurance run as Hanshin came from behind to beat Chunichi after Tigers starter Shintaro Fujinami allowed four runs in 5⅓ innings.

BayStars 8, Giants 4

At Tokyo Dome, Yasutaka Tobashira’s three-run, ninth-inning double broke open the game after reliever Spencer Patton preserved a one-run lead in the seventh after coming in with the tying run on base and no outs.

PACIFIC LEAGUE

Buffaloes 4, Marines 2

At Osaka’s Kyocera Dome, Chihiro Kaneko repeatedly pitched out of trouble to allow just two runs over seven innings, allowing Orix to come from behind and beat Chiba Lotte.

Shunta Goto’s sixth-inning, pinch-hit single tied it 2-2, and he singled and scored in the Buffaloes’ two-run eighth.