SANTA CLARA Kyle Juszczyk Jersey , Calif. (AP) — Nearly squandering a 17-point fourth quarter lead left a sour taste in the mouths of the San Francisco 49ers following their first win of the season.San Francisco held on for a 30-27 victory over the Detroit Lions on Sunday in a game that they seemed to have wrapped up before needing a favorable penalty call to escape.“I was telling our guys some things are out of our control. But usually when you get that type of lead you can control the outcome of the game,” coach Kyle Shanahan said Monday. “We allowed them to get back into it where the outcome wasn’t in our hands.”San Francisco (1-1) led the game 30-13 before allowing Matthew Stafford to throw two touchdown passes to get the Lions back into the game. Then with a chance to seal the game on offense, the 49ers almost gave it away.Jimmy Garoppolo threw an interception that Tracy Walker returned to the San Francisco 7 only to have the play wiped out by a holding penalty against Quandre Diggs on the other side of the field.The penalty gave the Niners a first down but they still were unable to run out to clock, needing to survive a desperation last drive attempt by Stafford before getting the win.The narrow escape left Shanahan’s players far from satisfied after the game. While he spent most of his film session Monday focusing on the team’s good plays like Pierre Garcon’s downfield block on Matt Breida’s 66-yard touchdown run, Shanahan saw plenty of room for improvement in the passing game.One week after throwing three interceptions in his first loss as an NFL starter, Garoppolo avoided any turnovers. But the passing game was far from efficient.Garoppolo threw for just 206 yards — his fewest in seven starts with San Francisco — but took six sacks against a Lions defense missing top pass rusher Ezekiel Ansah.Garoppolo held the ball an average of 6.522 seconds on those sacks, according to Sportradar, more than two seconds longer than his average sack with the 49ers.“Jimmy might have had an opportunity on a couple of those but definitely not on all six,” Shanahan said. “They did a good job covering it and a good job getting to us and he had to hold onto it because of that.”Shanahan said one of the issues was that his receivers were unable to break free from Detroit’s aggressive man coverage. Shanahan said Garcon did the best job fighting through the physical play but the other receivers struggled.When that happens, Shanahan said he needs to do a better job of coming up with schemes to attack man coverage and Garoppolo must get through his progressions faster and get rid of the ball if no one is open.“He definitely couldn’t have done that on all of them,” Shanahan said. “It was definitely a group effort. There were a couple he had a chance to get rid of it. You wait on a guy in man coverage and if you wait on him or they don’t win, you have to get rid of it. Or you have to get off them early if you see they aren’t winning, anticipate that it’s not looking good early and move onto number two.”NOTES: LB Reuben Foster rejoined the team following his two-game suspension. The 49ers don’t have to make a roster move until later in the week. … Shanahan said the team looked into trading for WR Josh Gordon, who was dealt along with a seventh-round pick from Cleveland to New England for a fifth-round pick. “That’s something that we looked into. Obviously, it went a different way. … They did more than we did,” Shanahan said. … S Jaquiski Tartt is day to day with a shoulder stinger. It took until Week 12 Laken Tomlinson Jersey , but the Buccaneers finally got a good game from quarterback Jameis Winston.Winston, who started the season suspended, lost his starting job, got his starting job back, lost it again and then got it back again, played his best game of the season today in a big win over the 49ers.After being a turnover machine all season, Winston was careful with the football, finishing the game with no interceptions and no fumbles while totaling 312 passing yards.The other quarterback, San Francisco’s Nick Mullens, couldn’t get the job done. Although Mullens showed a lot of promise in his first two starts, today he struggled mightily, with two interceptions. Mullens has proven himself good enough to be worthy of a roster spot — and probably good enough to keep starting ahead of C.J. Beathard — but he has a ways to go in his development as a quarterback.Winston has a ways to go, too, and he’s still not where the Buccaneers want him to be. But today’s game may instill some hope in Tampa.