49ers sloppy early but backups bolster them to preseason win

In Friday's preseason win against the Kansas City Chiefs, the San Francisco 49ers looked the part of a team playing its first preseason game after an offseason of sweeping changes to the front office, coaching staff and roster. At least in the early going.

But the backups came to the rescue, leading a comeback that ultimately resulted in a 27-17 victory at Arrowhead Stadium. In a game that would fit the description of a preseason contest to perfection, the 49ers' starters struggled with costly penalties, mistakes and red zone issues. After the starters departed, the penalties continued, but there were enough big plays to give coach Kyle Shanahan a win in his preseason debut.

It was the first chance to see the new-look Niners under Shanahan, and though there were obvious warts to work on, there also were positives to take from this one. A look at both:

QB depth chart: As expected, Brian Hoyer started and played a pair of series before handing the reins to Matt Barkley. Barkley entered near the end of the first quarter and played through the rest of the first half before ceding the rest of the game to rookie C.J. Beathard. Fourth quarterback Nick Mullens did not get in the game.

When it was starters vs. starters, the 49ers looked ...: Like a team with a lot of work to do. Yes, it was a small sample size as the bulk of the starters on both sides of the ball played just two series each and were out of the game before the end of the first quarter. But the defense allowed a touchdown on the opening drive and the offense failed to generate so much as a first down. Hoyer was 1-of-4 for 3 yards and running back Carlos Hyde had zero yards on two carries before calling it a night. When the starters were in, the Niners were outscored 7-3 and outgained 107 yards to 12.

One reason to be concerned: Cornerback play. This has been an issue throughout training camp, and it was a glaring problem early Friday night. Rashard Robinson is the team's top corner, which is a big ask for a second-year player with little experience. His upside is high, but he's also going to have bumps along the way. On the opening drive, he gave up a big completion to wide receiver Tyreek Hill and missed a tackle on third down that led to Kansas City's first touchdown. To his credit, Robinson bounced back with a nice tackle in run support and came up with an interception later. The Niners don't have much depth at the position, and even if it's unfair, they need Robinson to play at the level of a top corner sooner than later.

That guy could start: Wide receiver Aldrick Robinson has been a consistent playmaker during training camp and has had a strong rapport with Barkley. That was evident again Friday as Robinson had a 63-yard catch-and-run and had a touchdown wiped out by a penalty. Robinson finished with two catches for 83 yards. Pierre Garcon and Marquise Goodwin are entrenched as the top two receivers, so it's unlikely Robinson would be a starter in the traditional sense, but there are scenarios in which he could play starter snaps, especially with Goodwin moving into the slot in packages with three or more receivers.

Rookie watch: Linebacker Reuben Foster started at weakside linebacker and played most of the first half before calling it a night. He didn't look out of place at all and nearly came up with an interception to kill Kansas City's first scoring drive. It's still hard to imagine a scenario in which he isn't the starter on opening day provided he's healthy. ... Defensive end Solomon Thomas also got plenty of work and was able to generate pressure on the quarterback multiple times, including one that led to Robinson's interception. It wouldn't be a surprise if Thomas starts getting more and more work with the starters as we move forward in the preseason. ... Running backs Joe Williams and Matt Breida both continued to build on strong work in recent training camp practices, with Williams breaking off a pair of 17-yard runs and Breida doing damage on the ground and through the air.

Lynch makes his case: In the spring, defensive end Aaron Lynch weighed around 300 pounds and his roster spot looked like it could be in danger. He responded as the Niners hoped, returning for training camp after losing almost 30 pounds. Evidence that a lighter and quicker Lynch still could be a dangerous pass-rusher was on display Friday night as he posted two sacks and batted down a pass. Yes, it came against Kansas City's backups, but that's what a player of Lynch's caliber should do in that situation. He's had a strong camp and looks to be locking down a roster spot and a role in the defensive line's rotation.

Penalty problems persist: Shanahan was visibly angry last week in practice when his team struggled repeatedly with penalties, including six pre-snap flags that came during a hard-count drill. He voiced that displeasure to his team in hopes of getting it fixed. It didn't work. The Niners had eight penalties for 65 yards in the first half alone, including a pair of costly flags that wiped out touchdowns. They finished with 17 penalties for 131 yards. Penalties are a staple of the preseason, especially when the backups come in, but the Niners had some issues with their starters as well. It's something Shanahan will emphasize as the preseason rolls on.