"I wanted to go out there, make sure I continue with what we've been doing this whole year, continue the same game plan and just kind of go from there," Holland said. "Obviously, a win is great. To go against my former teammates and those guys, it is a little bit better -- so now I can maybe say some stuff to them."
Holland, who won 62 games over eight seasons with the Rangers after they drafted him in 2006, was mostly sharp while notching consecutive victories for the first time this season.
He yielded one run and three walks with four strikeouts, then left to a standing ovation from the San Francisco crowd.
"Just pitched a beautiful game," Giants manager Bruce Bochy said. "It's great to see players like Derek, who it looks like they may be toward the end of their career, bounce back and show that there's a lot of game left in what they have."
Four days earlier, Holland (7-8) gained national attention after making a racially insensitive joke while appearing on MLB Network alongside Giants massage therapist Haro Ogawa in a bit that was meant to be fun. Holland later apologized for his comment.
"I know I had made a mistake and I am still very sorry for what I've done," Holland said. "With the stuff that happened off the field, (the ovation) meant a lot to me. Hopefully with my apology to them they have my back and they understand those were not the intentions."
Elvis Andrus had an RBI double on his 30th birthday for Texas. The Rangers finished 2-4 on their road trip.
"Holland was throwing the ball well," manager Jeff Banister said. "He made it very challenging for our hitters, being able to pitch in and across the plate."
The Giants went ahead in the fourth.
Hunter Pence singled off Yovani Gallardo (7-3) with two outs. After Nick Hundley walked, Duggar lined a 2-2 pitch between center fielder Carlos Tocci and right fielder Nomar Mazara to put San Francisco up 3-1.
Duggar, the No. 8 hitter, was shocked the Rangers didn't walk him with the pitcher's spot due up next.
"I thought they were going to selectively pitch around me," he said.
Mark Melancon retired three batters for his third save.
WATCH HIM FLY
Bochy was asked what he thought while watching Duggar race around the bases for his first career triple. "I wish I had that speed, that's what goes through my mind," Bochy said. "It's a gift."
Rangers: Joey Gallo, who sprained his left ankle in the series opener, was back in the starting lineup after being limited to a pinch-hit appearance on Saturday.
Giants: Buster Posey was placed on the 10-day disabled list, as expected. The six-time All-Star catcher is scheduled to have season-ending hip surgery Monday in Colorado. Aramis Garcia was called up from Triple-A Sacramento.
Rangers: Face the Dodgers and RHP Walker Buehler (6-4, 2.96 ERA) on Tuesday in Texas. Buehler is 2-0 with a 1.07 ERA in his past four starts. Texas had not announced a scheduled starter.
Giants: RHP Chris Stratton (8-7, 5.37 ERA) makes his second start since being called up to replace Dereck Rodriguez in the rotation when he faces LHP Patrick Corbin (10-4, 3.17) and the Arizona Diamondbacks on Monday. Stratton leads San Francisco in wins despite two trips to the minors.
More AP MLB:�https://apnews.com/tag/MLB and�https://twitter.com/AP-Sports
After throwing a gem of a first pitch in April, Sister Mary Jo Sobiech returns Saturday night to do it again.
Javier Baez homered and the Chicago Cubs took advantage of huge mistake by Ryan LaMarre, beating the crosstown White Sox 8-3 on Saturday night to increase their lead in the NL Central.
The Miami Marlins, dead last in the major leagues in attendance, conclude their 2018 home schedule Sunday against the Cincinnati Reds.
Milwaukee's offense was stymied when Trevor Williams combined with three relievers on a five-hitter that led the Pittsburgh Pirates to a 3-0 victory Saturday night, slowing the Brewers' playoff push.
For the New York Yankees, the question is do they start J.A. Happ in the wild-card game or hold off on using him until a possible division series matchup with the Boston Red Sox.
Daniel Murphy hits a liner to left field that Ryan LaMarre misjudges, allowing Kyle Schwarber.