The Portland Sea Dogs scored three runs in the bottom of the eighth inning for a 3-2 win over the Akron RubberDucks on Saturday night before 6,331 at Hadlock Field.

Jeremy Rivera and Jantzen Witter had RBI to tie the game, and Luke Tendler brought home Rivera with a sacrifice fly to left.

Jordan Weems (1-0) got his first Double-A win with one inning of one-run relief. Josh Taylor pitched a scoreless ninth for his first save.

Starting pitcher Mike Shawaryn got a non-decision but Saturday was one of his best outings of the year. He allowed only four hits and one run over seven innings.

Rated as Boston’s ninth-best prospect by mlb.com, Shawaryn, 23, is in his first Double-A season. With command of a 92 mph fastball, cutter, slider and change-up, he has lowered his ERA to 3.41. In nine of his 11 starts, he’s allowed three earned runs or less.

On Saturday, Shawaryn matched his season high with eight strikeouts – giving him 59 in 63 innings – while walking none (although he hit a batter).

Shawaryn retired the first 13 of 14 batters he faced. In the fifth inning, an infield single, stolen base, single to right and Sam Haggerty’s sacrifice fly made it 1-0.

For the second straight night, Akron brought back a pitcher from the disabled list, and he shined. Right-hander Michael Peoples held the Sea Dogs to two hits and no runs over four innings. He struck out two and walked none.

Jake Paulson (3-2) piggy-backed Peoples and cruised until the eighth.

In the ninth, Daniel Salters tried to stretch a single into a double but was thrown out by right fielder Danny Mars.

The Sea Dogs (22-38) and RubberDucks (35-27) finish their series Sunday at 1 p.m.

NOTES: First baseman Josh Ockimey remains day-to-day with back spasms … Josh Tobias returned to the disabled list and was replaced by Tanner Nishioka from Greenville.