Solarte homered from both sides of the plate and the Padres used 18 hits to rout the Arizona Diamondbacks 10-3 and snap a four-game losing streak on Friday night.
Solarte also homered in the Padres' last game Wednesday in San Francisco. He only has been back in the lineup for a week after missing 38 games with a strained right hamstring.
"I was definitely anxious watching the games," Solarte said through an interpreter. "Watching the games from home wasn't nice. It's not fun."
Solarte, speaking in English briefly, said he once homered from both sides of the plate when he was in the low minors.
"It's a good feeling," he said.
San Diego's 18 hits marked the most for the Padres since a 19-hit performance against Colorado on April 9.
"We had a lot of hard contact," Padres manager Andy Green said. "We had good contact and nice swings up and down the lineup. We got the offensive explosion we've been waiting for."
Christian Friedrich (1-1) threw seven shutout innings, allowing three hits with five strikeouts and a walk for San Diego. The win was Friedrich's first since July 13, 2012, against Philadelphia.
"I didn't know that it had been four years," said Friedrich, who signed a minor-league deal with the Padres on March 3 after being designated for assignment by Colorado. "I was sure I snaked a win last year. But I wouldn't be in this spot if not for getting an opportunity to pitch here in San Diego."
Arizona starter Robbie Ray (2-4) lasted only 4 2/3 innings, allowing five runs and nine hits with two walks and eight strikeouts.
San Diego teed off on Ray in the fifth. Kemp hit homer with one out, his team-leading 11th, and Solarte -- batting right-handed -- followed with his second homer of the season. Ray retired Upton, but gave up Brett Wallace's single to left against a shift before departing.
"I felt strong with all my pitches," Ray said. "I was able to get out of some jams there, but I just left a few pitches up and they made me pay for it. It's just frustrating because I know I am better than that."
Dominic Leone, newly arrived from Triple-A Reno, came on and surrendered Norris' home run to make it 6-0.
Solarte's towering, three-run homer -- batting left-handed -- off Josh Collmenter sparked a four-run fourth that gave San Diego a 10-0 lead. Solarte's two-homer game was his second, the first coming August 3, 2015, at Milwaukee.
Drury's two-run homer in the eighth off Keith Hessler made it 10-2. Lamb added a pinch-hit, solo shot in the ninth.
Padres: LHP Matt Thornton, out since April 8 with left Achilles tendonitis, is expected to be activated this weekend. Thornton has struck out three and walked one in three innings in a rehab assignment with Single-A Lake Elsinore.
Diamondbacks: RHP Rubby De La Rosa (right elbow inflammation) and RHP Shelby Miller (sprained right index finger) were placed on the 15-day disabled list and Collmenter (right shoulder inflammation) was activated from the 15-day disabled list on Friday. De La Rosa was 4-1 with a 1.87 ERA in his past six outings before allowing five earned runs on 4 1/3 innings on Wednesday in Pittsburgh. Miller, who originally injured the finger April 16 in San Diego when he scraped his hand on the mound following through on a pitch, is 1-7 in 10 starts with 30 strikeouts and 29 walks in 45 2/3 innings and a 7.09 ERA. Collmenter was placed on the disabled list April 2 and made six minor-league rehab starts.
With a 3-for-5 night, Kemp raised his career batting average against the Diamondbacks to .295. His home run off Ray was Kemp's 32nd against Arizona, the second-most among active players behind Adrian Gonzalez. Kemp's 156 career hits against Arizona are the third-most among active players.
Padres: RHP Cesar Vargas (0-2, 3.34 ERA), who held the Dodgers to two runs on four hits with a walk in a no-decision his last time out, will start Saturday against the Diamondbacks. Vargas has started four of his seven games on the road.
Diamondbacks: RHP Zack Greinke (5-3, 4.59 ERA), coming off his most dominant start of the season, will make his 11th start Saturday against the Padres. Greinke allowed one run on five hits over eight innings in St. Louis on Sunday. Greinke walked one and struck out seven. Greinke is 6-1 with a 1.64 ERA in 13 career games against San Diego.