The 49ers, in a startlingly familiar flash of deja vu, only narrowly won over the floundering Dallas Cowboys 30-24 on Sunday, despite holding a double-digit lead late into the game.

George Kittle was a star out there for the 49ers on National Tight End Day, tallying six catches for 128 yards and a touchdown. His breakout was sorely needed for their offense, who lost star reciever Brandon Aiyuk for the season to a knee injury in last week's disastrous loss to the Kansas City Chiefs, and were playing without starting running back Jordan Mason and wide receiver Deebo Samuel for large sections of the game.

The 49ers offense struggled throughout the first half, only putting up six points against a Cowboys defense ranked in the bottom five by most metrics. They trailed 10-6 going into halftime, but an explosive third-quarter led to 21 straight unanswered points by the 49ers and a 27-10 lead going into the fourth.

However, in a manner very similar to their Week 6 game over the Seahawks and their respective Weeks 3 and 5 losses to the Rams and Cardinals, the 49ers then proceeded to allow the Cowboys to make it a close game as the game drew to a close. Dallas was only trailing 30-24 with three minutes on the clock, and had the chance for a go-ahead touchdown drive, before four straight incompletions from their quarterback Dak Prescott sealed the win for the 49ers.

"Not our first rodeo!," reads a tweet from the team's official account posted in the game's immediate aftermath.

The 49ers are now going into their bye week with a 4-4 record, with hopes that All-Pro running back Christian McCaffrey will make a return for their Nov. 10 road game against the Tampa Bay Buccaneers.

Photo by Michael Owens/Getty Images