Washington Redskins Coach Mike Shanahan cautioned all along that fans shouldn’t expect any resolution to his quarterback competition at any point during the preseason.

And sure enough, the team’s preseason finale came and went Thursday night, and the quarterback picture remains just as muddled — at least outwardly — as it was back when John Beck and Rex Grossman began trying to one-up each other during the first week of August.

Given the starting nod for the second time this preseason — and with rival Grossman given the night off — Beck played the entire first half but turned in a shaky performance despite a 29-24 victory over the Tampa Bay Buccaneers in front of a FedEx Field crowd of 58,937.

After two sharp performances — one of them in a start, and the second in relief of Grossman — Beck was less than impressive against the Buccaneers, whose defensive starters all received the night off.

Beck entered the game having completed 20 of 27 passes (74.1 percent) for 248 yards, a touchdown and an interception and a quarterback rating of 99.0. Against the Indianapolis Colts and Baltimore Ravens, Beck moved Washington’s offense at a crisp pace and kept the defense off-balance while scattering quick passes around to multiple receivers.

But against Tampa Bay, Beck lacked the same sharpness. He completed just 10 of 21 passes for 108 yards, threw an interception in the end zone and ended the night with a quarterback rating of 43.4.

“Obviously, I would’ve liked for it to go a little bit better than it did,” Beck said. “There definitely were some throws out there that I definitely don’t miss on. I was just a little off.”

Beck did face the Buccaneers without starting wide receivers Santana Moss and Jabar Gaffney, starting tight end Fred Davis as well as starting running back Tim Hightower and fullback Darrel Young. Those players all had the night off, as was rookie backup running back Roy Helu, who had excelled as a change-of-pace back while running with the first-teamers.

Beck had the starting offensive line in front of him, but he missed open receivers several times, made several ill-advised throws and appeared hesitant other times. Not helping matters were the apparent struggles of the interior of the Redskins’ offensive line. On Washington’s first offensive play of the game, defensive tackle John McCargo came up the middle to pressure Beck into overthrowing a wide-open Anthony Armstrong.

On Beck’s final pass attempt of the game — with 1 minute 2 seconds left in the first half — safety Devin Holland knifed up the middle of the line. With the pressure coming, Beck threw the ball off his back foot, going for rookie Niles Paul in the back right corner of the end zone. But Tampa Bay cornerback D.J. Johnson stepped in front of Paul and easily pulled the ball down for an interception.

Scattered in between those two plays were completions of 22 yards to tight end Logan Paulsen, 19 to Paul, 18 to Anthony Armstrong and 16 to Donte Stallworth. But Beck failed to lead his team on any scoring drives of length.

“A few of those throws were like short putts; you’re out golfing, you’re having a good day and you go to putt it and it doesn’t go in, and you’re like, ‘Wait a second. I’m feeling too good, I’m feeling zoned in and those things don’t normally happen,’ ” Beck said. “Because before the game, I felt very zoned in and I felt like I was going to have a very good game.”

Washington scored its first touchdown — a one-yard run by rookie Evan Royster — on a three-play, three-yard scoring drive that was set up by a 37-yard fumble return by rookie outside linebacker Markus White.

The other touchdown came on a 95-yard Brandon Banks punt return.

The Redskins’ first drive — the one that began with Beck overthrowing Armstrong under pressure — ended on the very next play when Royster fumbled after no gain. Three other first-half possessions ended with punts, and another with a 22-yard field goal by Graham Gano.

Another element not working in Beck’s favor was the lack of a strong running performance. In previous weeks, Hightower and Helu had helped keep the defense off-balance with big gains. But Royster managed just 20 yards on eight first-half carries, and Ryan Torain added 22 yards on six carries.

Shanahan remained noncommittal on where Beck and Grossman stand in the quarterback race. Instead, he said he will continue to evaluate both quarterbacks.

“I’ll get a chance to look at film from today, a couple more days of practice and then we’ll make a decision — at least as a coaching staff,” Shanahan said.

Meanwhile, the Redskins’ defense continued to execute at a high level despite being without nine starters.

Defensive linemen Barry Cofield and Stephen Bowen and linebackers London Fletcher, Brian Orakpo, Ryan Kerrigan and Rocky McIntosh, cornerback DeAngelo Hall and safeties Reed Doughty and Oshiomogho Atogwe all sat out the game, and only cornerback Josh Wilson and defensive lineman Adam Carriker started as they usually would. (Wilson recorded an interception in the second half.)

With Shanahan and defensive coordinator Jim Haslett wanting to evaluate players battling for positions both on the depth chart and roster, rookie Chris Neild started at nose tackle and Kedric Golston at right defensive end. Keyaron Fox and Perry Riley started at inside linebacker, and Rob Jackson and White at outside linebacker. Meanwhile, Anderson Russell and rookie DeJon Gomes started the safety positions. The other replacement starter was Phillip Buchanon at left cornerback.

Despite the lineup changes, the unit still held Tampa Bay’s offense — which didn’t feature a single starter — scoreless in the first quarter. Washington didn’t give up a first-quarter score the entire preseason. The defense on Thursday also limited the Buccaneers to 109 yards of total offense, denied Tampa Bay on all seven of its third-down plays, recorded two sacks and forced two turnovers.

Thanks largely to those defensive efforts, and Banks’s punt return, Washington held a 17-3 halftime lead.

In the second half, Washington fell behind 24-23, but Kellen Clemens connected with Stallworth on a 41-yard touchdown pass with a minute left to play to put his team ahead for good.