WASHINGTON — Rookie Luis Perdomo's big league debut must seem like a long time ago.

Perdomo pitched seven solid innings, Matt Kemp homered twice and drove in four runs and the San Diego Padres beat the Washington Nationals 5-3 on Friday night.

The Padres have watched the 23-year-old right hander steadily evolve after allowing six runs in one relief inning in his first major league game.

"I always go back to that first outing he had, Opening Day against the Dodgers, and he just looked shell-shocked on the mound," manager Andy Green said. "And now this guy knows that he can navigate through the Washington Nationals lineup at this point in the season."

Perdomo (4-4) is 3-0 with a 3.47 ERA in his last four starts. After allowing a pair of first-inning runs, he limited the National to two hits over the final six innings of his longest outing. He got 13 outs via ground balls.

"I really just followed my plan," Perdomo said through an interpreter. "I kept my pitches low and I was able to use my sinker to get some outs."

Brandon Maurer pitched 1 1/3 innings for his fourth save.

Kemp hit a solo shot in the first inning and gave San Diego the lead for good with a three-run homer in the fifth. He has six homers in his last six games and the Padres have homered in 20 straight, the longest streak in the National League this season.

Jayson Werth and Daniel Murphy homered for Washington. The Nationals have lost four of five.

"People ask me what do we need? We need some timely two-out base hits. Not home runs," manager Dusty Baker said. "We rely on home runs, which is fine. But you need some timely two-out hits or two or three consecutive hits, which we aren't getting."

Tanner Roark (9-6) turned in his shortest outing since June 5, lasting just five innings. He allowed five runs on four hits and surrendered two homers in a game for the first time this season.

"I didn't have my best stuff by any means tonight," Roark said. "I stunk."

Both teams were warned after Washington's Oliver Perez hit Brett Wallace with a pitch to open the ninth.

Washington pitchers hit three batters and San Diego hurlers hit one.

Wilson Ramos had three hits for Washington.

San Diego trailed 2-1 when Wallace was hit leading off the fifth and scored on a two-out single by Melvin Upton Jr. After Ryan Schimpf walked, Kemp homered to centre off a 2-1 Roark fastball for his 22nd of the season.

Murphy's solo shot pulled Washington to 5-3 in the eighth.

Kemp made it 1-0 when he deposited Roark's 3-1 pitch into the Padres' bullpen.

"He left a couple of (fastballs) up there in the zone," Kemp said.

Werth tied it in the bottom of the first with a line shot to centre. He has reached base in 26 consecutive games.

Bryce Harper then walked, stole second and scored on Ramos' single.

TRAINER'S ROOM

Nationals: RHP Joe Ross (right shoulder inflammation) will make a rehab start Sunday at Class-A Hagerstown. ... LHP Sammy Solis (right knee inflammation) began a rehab assignment with Class-A Potomac on Friday night and pitched a scoreless inning. ... 1B Ryan Zimmerman (left ribcage strain) went 1 for 5 with a two-run single and four strikeouts Friday night in his second rehab game with Potomac.

PADRES SIGN ONA

The Padres Friday have agreed to terms with outfielder Jorge Ona. Ona, 19, was ranked by MLB.com as the No. 8 International prospect in the 2016 class and ranked by Baseball America as the fourth-best Cuban player available earlier this year. "It's a 2017 contract," General Manager A.J. Preller said in a conference call. "He'll hopefully come here for (the fall) instructional league and then report for spring training and start his pro career next season."

MURPHY MASHING

Murphy has hit safely in nine straight games. During the streak he's hitting .382 (13-for-34) with five doubles, five homers, and 14 RBIs.

UP NEXT

Padres: RHP Edwin Jackson (1-1, 4.76), who spent 2012 with the Nationals, will make his second start since joining the Padres. He allowed three runs on one hit over 6 1/3 innings to win his San Diego debut on July 17.

Nationals: RHP Max Scherzer (10-6, 2.94) picked up a no-decision Sunday in an 18-inning loss to Pittsburgh despite allowing one run in seven innings. He has given up one run or less in each of his last four starts.