ST. LOUIS (AP) - Matt Holliday was determined to try anything to lift the St. Louis Cardinals out of their recent funk.
The home run worked best.
The outfielder, with high socks and a new pair of pants, hit a go-ahead two-run homer in the eighth inning that helped the Cardinals snap a season-high seven-game skid with a 5-4 win over the Kansas City Royals on Saturday.
Holliday and three others starters - Ryan Theriot, Skip Schumaker and Yadier Molina - wore their socks up near the knees in an effort to shake the bad luck. Holliday even changed uniform pants, wearing a tighter pair belonging to special assistant Red Schoendienst, a Hall Of Famer.
Now, Holliday is ready to move forward with the new look. "You can't change after a win," he said.
Holliday drilled an 0-1 pitch from reliever Greg Holland to erase a 4-3 deficit. Holliday is 5-for-9 with two homers and four RBI since coming back from a quadriceps injury June 16.
"I thought timing might be an issue," he said. "But I saw the ball pretty well."
Holliday homered in his first at-bat in his return to the lineup Thursday. The home run Saturday, his eighth of the season, went 422 feet to dead center.
"It was huge," St. Louis manager Tony La Russa said. "As big a hit as we've had all year."
Kansas City, which won the first game of the series, has lost three of four.
Jason Motte (3-1) earned the win in relief. Closer Fernando Salas converted his 12th save in 13 chances.
Holland (1-1) gave up his first home run of the season.
"He was lights out except for one pitch," said Kansas City manager Ned Yost. "He threw it right down the middle."
The Cardinals were outscored 47-20 during the losing streak.
"You just keep battling and realize that it's a long season and every team goes through something like this," Holliday said.
Alex Gordon gave Kansas City a 4-3 lead with a solo homer in the seventh off St. Louis starter Jake Westbook, who gave up four runs in seven innings.
"I still felt strong," Westbrook said. "Matty picked us up with a big homer."
St. Louis took a 3-2 lead in the third on a run-scoring double by Albert Pujols, who has 52 RBI against Kansas City.
Matt Treanor then tied the game 3-all with a solo homer in the fourth, his third of the season.
Kansas City starter Vin Mazzaro allowed seven hits and three runs over six innings.
Melky Cabrera robbed Lance Berkman of a home run with a leaping catch over the wall in the sixth inning.
The Cardinals improved to 5-23 when trailing after seven innings.
"We let one slip away," said Yost.
Alcides Escobar had two hits for the Royals. He has 16 hits in his last 29 at-bats.
Notes: Westbrook batted in the No. 8 spot in the order, the third time this season Russa has hit the pitcher eighth. St. Louis pitchers hit eighth 77 times last season. ... Westbrook reached a three-ball count on nine of the first 20 hitters. ... St. Louis OF Colby Rasmus broke out of an 0-for-14 skid with a single in the eighth to start the winning rally. ... The teams wore Joplin High baseball caps during batting practice in tribute to the southwest Missouri school, which was destroyed by a tornado May 22. The clubs are wearing, "Teams Unite For Joplin," patches on their uniforms during the three-game series.