INDIANAPOLIS -- Andrew Luck keeps checking off the boxes.
On Saturday, he got the Indianapolis Colts' offense in sync, bounced back from yet another big hit and led them to a go-ahead touchdown before leaving in the second quarter.
Yes, five days after a mediocre performance in his first home start in more than 19 months, Luck looked much sharper as the Colts hung on for a 23-17 victory over San Francisco.
"I really wanted to feel like we created some type of rhythm and we did," he said. "We put a sustained drive together, and the other ones, we made some mistakes. But getting in rhythm was something I really wanted to see."
He was in good company.
Coach Frank Reich and Colts fans also wanted to see improvement in what's likely Luck's final action of the preseason.
The results were better.
Luck scrambled for a 15-yard run on third-and-13 then threw a 15-yard TD pass to a leaping Eric Ebron on the next play to give Indy a 7-3 lead midway with 8:47 left in the first half. He finished 8 of 10 with 90 yards and took one sack.
Christine Michael's 1-yard TD plunge late in the third quarter made it 14-9, a lead Indy never relinquished.
Otherwise, it was a tough day for the Colts, who struggled to establish the run -- and couldn't stop San Francisco's physical ground game in the first half.
"They did a nice job running the ball and just like offensively in the run game, we need to improve defensively in the run game," Reich said after his defense allowed 126 yards rushing.
Somehow, the Colts kept the 49ers out of the end zone until the final minutes and took advantage of Jacoby Brissett's 53-yard pass play to Seantavius Jones late in the third quarter. Two plays later, Michael scored to give Indy a 14-9 lead.
It was enough to give Luck his first home win since Jan. 1, 2017.
Jimmy Garoppolo, meanwhile, couldn't get the ball into the end zone. He was 9 of 19 for 135 yards, leading the 49ers to only two field goals before departing in the third quarter. Alfred Morris carried 17 times for 84 yards, doing the bulk of his work in the first half.
Former Colts receiver Pierre Garcon had two catches for 62 yards.
"We ran the ball very well, but I was just saying this to the team -- running the ball well doesn't (automatically) get you points," 49ers coach Kyle Shanahan said. "We were 0 for 3 in the red zone."
Robbie Gould's 32-yard field goal gave the 49ers a 9-7 lead late in the third quarter.
But all San Francisco could manage the rest of the game was Nick Mullens' 1-yard TD run and Jeremy McNichols' 2-point conversion run with 4:07 left, spoiling the return of cornerback Richard Sherman .
"There were some good plays, there were some other plays I felt rusty on, but overall I felt pretty good," said Sherman, who is coming back from a torn Achilles tendon. "I would have preferred (defending a deep ball)."
Ebron caught five passes for 54 yards for Indy, which got starting safety Malik Hooker back. He missed the second half of his rookie season after tearing two ligaments in his right knee.
When the 49ers visited Indianapolis in October, nearly two dozen players demonstrated by kneeling during the national anthem -- prompting Vice President Mike Pence to walk out of Lucas Oil Stadium. This time, nobody took a knee while the anthem played. The only demonstration came from San Francisco receiver Marquise Goodwin, who raised his fist again.
49ers: Linebacker Reuben Foster did not return after being diagnosed with a concussion in the third quarter, and cornerback Jimmie Ward left in the first half with a quadriceps injury. Shanahan said he doesn't expect to Foster in the preseason finale. Receiver Marquise Goodwin also left in the first half with a hand injury but returned. San Francisco played without running backs Jerick McKinnon (knee), Matt Breida (shoulder) and Joe Williams (ribs) or backup offensive linemen Erik Magnuson (hamstring) and Gary Gilliam.
Colts: Defensive end John Simon (neck), safety Ronald Martin (shoulder), offensive lineman Denzelle Good (knee) and safety T.J. Green (hamstring) all left in the second half. None of those four retuned. Indy was already missing cornerbacks Quincy Wilson (hand) and Nate Hairston (hamstring), linebacker Anthony Walker (groin), defensive linemen Denico Autry (lower leg) and Tyquan Lewis (foot), running backs Marlon Mack (hamstring), Robert Turbin (ankle), newly acquired back Brandon Oliver and Tion Green, and receivers James Wright (knee) and K.J. Brent (knee).
49ers: Wrap up the preseason at home Thursday against the Los Angeles Chargers.
Colts: Close out the preseason at Cincinnati.
More AP NFL: https://apnews.com/tag/NFL and https://twitter.com/AP-NFL
Vikings sign veteran offensive lineman Kline
Guard Josh Kline has signed with the Minnesota Vikings, the team announced Wednesday. A source tells ESPN's Courtney Cronin that the deal is for three years and is worth $15.75 million.
2019 NFL draft prep: Biggest takeaways from Dwayne Haskins' pro day
Ohio State's signal-caller looked good while throwing on the move in his pro day workout. Todd McShay breaks down what else stood out.
Source: NFL looking into Crawford incident
The NFL is looking into an incident involving Tyrone Crawford of the Cowboys, a source told ESPN. Crawford was not arrested or charged. Video shows Crawford fighting with security at a bar over the weekend.
Which players should Oakland select with its 1st-round picks?
Jim Nagy and Dan Orlovsky choose the players the Raiders should target with their three first-round selections in this year's NFL draft.
Jets sign QB Siemian as backup to Darnold
The Jets have signed Trevor Siemian to back up Sam Darnold at quarterback.
AAF shifts title game from Vegas to Frisco, Texas
The AAF is moving its title game from Las Vegas to the Dallas Cowboys' practice facility in Frisco, Texas. The game will be played at the Ford Center at The Star on April 27.