KANSAS CITY (AP) — During pregame warmups, 49ers quarterback Jimmy Garoppolo wandered to the spot near the 10-yard line in Arrowhead Stadium where last season came to a crashing end with a torn knee ligament.
"Once I did that," he said, "it was over with. Time to move on."
He did that quite well.
After a rusty preseason debut last week, Garoppolo was sharp and efficient in leading San Francisco to a 27-17 victory against the Chiefs on Saturday night. He was 14-of-20 for 188 yards and a touchdown while playing the entire first half, his nightmare Week 3 of last season becoming just a memory.
"Leading up to it and everything, enough people talked about it. I definitely thought about it," Garoppolo said. "But it's good to get it out of the way, I think is the best way to put it."
Garoppolo led the 49ers deep into Kansas City territory four times, throwing a nice TD pass to Matt Breida and getting two field goals from Robbie Gould. The other drive ended on a failed fourth down.
"Last week wasn't nearly as bad as it looked, but it definitely looked that bad live," 49ers coach Kyle Shanahan said. "Today, everyone was on the same page a little bit better, moved the chains a couple of times and just got into a rhythm and start playing football."
Chiefs star Patrick Mahomes was just as good, going 8-of-10 for 126 yards. The highlight for him was a 62-yard catch-and-run to Damien Williams, who made the defensive end covering him look foolish.
"To catch that ball and score that touchdown," Mahomes said, "that explosiveness is always good."
Mahomes was so sharp in what was likely his final tuneup before the regular season that the league MVP even completed his first incompletion — it was just caught out of bounds. His only other misfire was a drop by backup tight end Blake Bell before coach Andy Reid gave Mahomes a visor to wear.
"I just thought he'd had enough," Reid said. "They've had a lot of work, a lot of work in training camp. We practice fast and hard and we have some live periods where you tackle to the ground. We just felt like we were in a good place there."
Garoppolo kept his helmet on, leading a two-minute drill that gave the 49ers a go-ahead field goal.
They clung to that 13-10 halftime advantage until Chiefs backup quarterback Kyle Shurmur led a 13-play, 97-yard drive that took up most of the third quarter. Byron Pringle capped it with a short TD run as the second-year pro tries to make the Chiefs as an extra wide receiver.
The 49ers answered with a 12-play drive of their own. Nick Mullens, who is battling C.J. Beathard for their backup quarterback job, led the way and Jeff Wilson Jr. finished it with a TD run.
Wilson put the game away with another touchdown run with 3:41 to go.
The 49ers' George Kittle broke Travis Kelce's season yardage record for tight ends within hours of him setting it during Week 17 last season. But neither dented the stat sheet Saturday night. Kittle didn't play due to a bothersome calf injury while Kelce did not have a catch for Kansas City.
Along with Kittle, the 49ers rested CBs Jason Verrett (ankle), K'Waun Williams (knee) and Tim Harris; FS Adrian Colbert (hamstring); RB Jerick McKinnon (knee); DLs Dee Ford (knee), Nick Bosa (ankle) and Jullian Taylor (back); and WR Trent Taylor (foot).
The Chiefs sat SS Tyrann Mathieu (shoulder), CB Michael Hunter (groin) and WR Gehrig Dieter (back).
Notes: Wilson finished with 45 yards rushing for the 49ers. Breida carried seven times for 44 yards. Mullens was 8-of-11 for 84 yards. Rookie WR Mecole Hardman had three catches for 40 yards for Kansas City. Chiefs DE Frank Clark had a sack of Garoppolo in the first half. ... Chiefs LB Darron Lee left with a chest injury. CB Bashaud Breeland hurt his left shoulder while making a tackle along the sideline in the first half, though he eventually returned to the game. ... The Chiefs' game last week in Pittsburgh was delayed about an hour by lightning. Rain fell off and on Saturday night, too, though the game continued without any delays. ... The Chiefs visit Green Bay for their preseason finale Thursday night. ... The 49ers wrap up their preseason against the Chargers on Thursday night.