Ryan Sweeney can hit for average and play a little defense. Now he's regaining his power stroke.
"It's good to get that zero off the board," Sweeney said. "It's even better to get the win. Last night, I felt like I didn't know how to hit. Today, I started to feel a little bit better. I watched some tape to try and get my swing back to what it was before."
Kevin Kouzmanoff and Daric Barton also drove in runs for the A's, who won for just the second time in eight games. Brad Ziegler (1-2) got the win after pitching 1 1-3 innings in relief. Starter Vin Mazzaro lasted three-plus innings, allowing four runs on two hits.
"I filled the zone up the first two innings and then I lost the zone," Mazzaro said. "I thought I had battled back, but it was cut short. I didn't expect to be coming out."
Vladimir Guerrero hit a grand slam and had five RBIs for the Rangers, who had a four-game winning streak snapped.
Rangers starter Scott Feldman (1-3) gave up seven runs on 10 hits over seven innings. He walked three and struck out four.
"I got out there in the beginning and was kind of erratic with my command," Feldman said. "I felt fine the whole time. It was just that my command was awful. For us to put up runs like that and see them go to waste is very disappointing."
Feldman settled in to finish his outing on a good note, retiring the final 12 batters he faced.
"I think I just sort of went right after them a little better," he said. "I wasn't trying to reinvent myself. I think I just made better pitches."
Andrew Bailey recorded four outs for his fourth save in as many chances. He's yet to allow a run this season and extended his scoreless streak to 19 2-3 innings dating to last Sept. 6. He also converted his 25th consecutive save opportunity.
Mazzaro started in place of two-time All-Star Justin Duchscherer, who has soreness in his left hip. Duchscherer postponed his scheduled appointment to receive a cortisone shot until Wednesday and issued a statement saying: "There's nothing new."
"The first two innings were as crisp as I've seen him," A's manager Bob Geren said of Mazzaro. "Then he seemed to lose command of his pitches. I don't like walks and I'm not going to lose a five-run lead by someone who looked like he lost command."
Sweeney ended a career-high 50-game homerless streak when he drove a pitch from Feldman into the right-field bleachers for a two-run shot. He added two more RBIs with a single in the second and singled home a run in the fourth.
"It seems like I'm always ending up in the third spot by the end of every season," Sweeney said. "To start there this year was comfortable. With guys like (Cliff) Pennington and (Daric) Barton ahead of me, I know they create more opportunities."
Sweeney also made a nice diving catch that helped end a threat by the Rangers.
"He's a great outfielder all the way around," Mazzaro said. "He makes the good catches and the spectacular catches. It's nice to have a guy like that behind you."
Guerrero's slam, the sixth of his career, made it 5-4 in the third. It was his first slam since May 1, 2007, and he added an RBI single in the fifth.
NOTES: Rangers C Max Ramirez is expected to start Wednesday. ... A's OF Coco Crisp will have his fractured left pinkie X-rayed again to determine his next course of rehabilitation. ... A's IF Mark Ellis (strained left hamstring) is hitting off a tee and will progress to batting practice. ... Rangers IF Michael Young singled in the first for his 1,692 career hit, tying him with Rafael Palmeiro for second on the Rangers' all-time list. ... Sweeney's 21 RBIs against the Rangers are his most against any team. ... Guerrero hit his 410th home run, breaking a tie with Jason Giambi for 43rd all-time.