The Seahawks (5-5) lost for the 18th time in their last 20 visits to Arrowhead Stadium.
Kansas City (3-7) had lost its first four games here under coach Dick Vermeil and was in danger of starting 0-5 at home for the first time since 1976. But the Chiefs controlled the game from the outset, holding a 433-204 advantage in total yards.
"A win is a win wherever you get it," Vermeil said. "It was nice to get it here because our fans deserve it."
Priest Holmes led Kansas City's running attack with 120 yards on 26 carries, raising his season total to 902 yards, and added three catches for 70 yards.
"The more you get the ball the more comfortable you feel," said Holmes, who has 372 rushing yards in his last three games. "In the first half I got about 12 carries (actually 13 for 72 yards) and then in the second you want to keep it coming."
The Chiefs, who ranked second-to-last in the NFL against the run, held Alexander to 43 yards on 13 carries. The second-year back from Alabama entered with 851 rushing yards.
"We knew we had to first stop their run," said Chiefs safety Greg Wesley, who had three tackles and a sack. "Today, we stayed in our lanes and pursued much better."
Alexander had Seattle's lone touchdown -- a 28-yard reception in the second quarter -- and had six catches for 62 yards.
"They played a tough, hard game. They knocked us around," Seahawks coach Mike Holmgren said. "At some point in our development, we're going to learn to play on the road. We didn't respond like I hoped we would."
Kansas City received a surprising contribution from Mike Cloud, who raced up the middle for a 15-yard touchdown in the fourth quarter on his second carry of the season. The backup to Holmes, Cloud added 35 yards on five carries.
"We have to do a better job against the run," said Seahawks linebacker Chad Brown, who had 12 tackles and a sack. "We knew they were going to try to establish the run and we weren't up to the task today."
Kansas City's Trent Green completed 16 of 26 for 162 yards. His chief target was tight end Tony Gonzalez, who had six receptions for 71 yards. Gonzalez has 34 catches in his last five games against Seattle.
"Coming off the bye, I think everybody looked a little fresher," Green said.
Seattle's Matt Hasselbeck was 16 of 26 for 162 yards.
The Chiefs opened the game with a seven-play, 58-yard drive that featured passes of 26 yards to Gonzalez and 23 yards to Derrick Alexander. But after Tony Richardson was stuffed for no gain on third and inches, the Chiefs had to settle for a 23-yard field goal by Todd Peterson.
"It would have been nice to convert that (first drive) into a touchdown, but to to get any points on the first drive was real big for us," Green said.
Later in the quarter, the Chiefs started a 10-play, 81-yard drive which resulted in a one-yard touchdown run by Richardson 1:37 into the second quarter. The key play was a 33-yard pass from Green to Alexander to the Seattle 11 on third and seven.
"We were able to control the first quarter and that gave us momentum and confidence," Vermeil said.
Rian Lindell missed a 48-yard field goal attempt after Seattle drove to Kansas City's 30 with 9:09 left.
But the Seahawks pulled within 10-7 when Alexander turned a short pass into a 28-yard touchdown with 4:33 remaining in the half, capping a seven-play, 78-yard drive. Hasselbeck connected with Darrell Jackson on a 22-yard pass to key the drive.
The Chiefs put together a 17-play, 79-yard drive which consumed 7 1/2 minutes and resulted in a 26-yard field goal byu Peterson 3:13 into the fourth quarter. Richardson caught a 21-yard pass to set up the field goal.
Cloud's touchdown with 5:45 left came after Holmes turned a short pass into a 55-yard play.