Jurickson Profar had two hits as the Padres extended their winning streak to three with their fifth win in six games.
Wilmer Flores homered for the Giants, who lost their third straight after winning eight of 10.
Musgrove (5-0) struck out four and walked three on 100 pitches. The Padres are unbeaten in his eight starts.
“My main goal right now is just to get quality start after quality start,” he said.
“I feel like with the offense we have and the defense behind us, if we can go six or seven (innings) with two or three or less (runs), we have a pretty good chance to win.”
Taylor Rogers worked the ninth, pitching around Austin Slater’s leadoff single for his 16th save in 17 chances.
Machado’s eighth homer, a 425-shot to center, came off a 1-2 fastball that Carlos Rodón (4-3) left over the middle of the plate, breaking a scoreless tie in the top of the third.
“His stuff is electric, good pitcher man,” Machado said.
“He’s effective with that pitch up in the zone, so with two strikes there – I missed the first one in the first inning – so I know he’s going to try to beat me up there. so I wasn’t trying to be late on that 99 (mph).”
The Padres extended their lead in the sixth when Trent Grisham’s squeeze bunt scored Luke Voit.
Voit doubled to left leading off the inning and took third when Austin Nola followed with a single.
Flores’ fourth homer came with one out in the eighth off reliever Robert Suarez.
The Giants’ best scoring chance against Musgrove came in the sixth when they had runners at first and second with one out after Tommy La Stella doubled leading off and Mike Yastrzemski walked. Musgrove got Darin Ruf to ground into an inning-ending double play.
Rodón struck out six and walked one in six innings of five-hit ball.
Rodón labored through the first inning, walking consecutive batters to load the bases after Ruf’s two-out fielding error at first base. He escaped by getting Austin Nola on a flyouy.
“Carlos was able to climb of the first nicely and bounce back,” Giants manager Gabe Kapler said.
“Obviously it cost him a couple of pitches, that’s part of the game, but I really appreciate when a starting pitcher picks up a defender who doesn’t convert a ball into an out, so Carlos did a nice job picking up his teammate there," he said.
The Padres’ eight-game winning streak in Musgrove’s outings to start the season is the second longest in franchise history since they won Andy Hawkins’ first 12 starts in 1985.
Joc Pederson was 2 for 2 with a double against Musgrove. He’s 8 for 14 with seven extra-base hits including four home runs over his career against Musgrove.
Padres: Lefty-hitting 1B Eric Hosmer was out of the starting lineup against Giants lefty starter Rodón. Hosmer had been in the lineup every game since April 18.
Giants: C Curt Casali was placed on the seven-day concussion list. Newly acquired C Mike Papierski’s contract was selected from Triple-A Sacramento, and he was in Saturday’s starting lineup for his MLB debut. INF/OF Luke Williams was designated for assignment to make room for Papierski on the 40-man roster. … Brandon Belt was a late scratch from Saturday’s lineup. He was originally in the lineup as a DH.
Padres: LHP MacKenzie Gore (2-1, 2.17 ERA) will make his first start since May 9. He pitched three scoreless innings of relief in his last outing Tuesday in Philadelphia.
Giants: LHP Alex Wood (3-2, 3.93) is 4-2 with a 2.93 ERA in 17 appearances, including 11 starts, against the Padres.
Greeny's favorite facts on 'Bobby Bonilla Day'
Mike Greenberg goes through his favorite facts that put the Mets paying Bobby Bonilla until 2035 into perspective.
What is Bobby Bonilla Day? Explaining why the former Met gets paid $1.19M every July 1
Bobby Bo hasn't played for the Mets since 1999, but Friday he'll receive a hefty check from his former employer. Here's what you need to know about the unusual annual payday.
Reds host the Braves on home losing streak
Atlanta Braves (44-33, second in the NL East) vs. Cincinnati Reds (26-49, fifth in the NL Central)
Diamondbacks face the Rockies looking to end road losing streak
Arizona Diamondbacks (34-42, fourth in the NL West) vs. Colorado Rockies (33-43, fifth in the NL West)
Guardians host the Yankees to begin 3-game series
New York Yankees (56-21, first in the AL East) vs. Cleveland Guardians (39-34, second in the AL Central)
Tigers host the Royals to start 3-game series
Kansas City Royals (27-47, fifth in the AL Central) vs. Detroit Tigers (29-45, fourth in the AL Central)