John Harbaugh was in a sour mood while walking to his locker room at halftime.

He had just witnessed his starting offense go three-and-out in its first three possessions. The starting defense allowed Falcons receiver Julio Jones to catch six passes for 109 yards and a touchdown. When Jones reached 109 yards in the first quarter, he had 100 more yards than Baltimore's total.

Though Baltimore’s starting offense finally scored on an 11-play, 77-yard drive in the second quarter (a touchdown pass from Joe Flacco to tight end Ed Dickson), Harbaugh was anything but enthused heading into halftime.

“We got a lot of things we need to work on, all three phases basically. I'm not happy with any of it,” Harbaugh told radio station WBAL’s Stan White before storming off into the locker room.

Atlanta held a 17-7 lead at halftime. But Baltimore’s backups battled back to take a 31-17 preseason win. But the poor play of the starters will be harped on all week. Baltimore’s offensive line wasn’t in sync, beginning with rookie center Gino Gradkowski. It didn’t appear left guard Bobbie Williams was getting the proper calls; he looked lost at times. Earlier this week, Williams admitted he’s still learning the terminology after signing with the Ravens this summer, so that could still be an issue. Michael Oher started at left tackle and didn’t have a strong showing.

The lone bright spot on the line Thursday night was right tackle Kelechi Osemele, who held his own for most of his time in the game.

No pressure: The defensive front got little pressure on Falcons quarterback Matt Ryan, allowing him to throw for 155 yards and a touchdown. Ryan could have done more damage if it wasn’t for a sneaky interception from linebacker Brendon Ayanbadejo, who Ryan never saw. The Ravens’ defensive line failed to penetrate Atlanta’s offensive line, which was seen as makeshift heading in.

Bobby Rainey shines: Entering Thursday as the No. 2 running back, Anthony Allen did himself no favors by gaining just nine yards on five carries. He also had a flare pass thrown to him from quarterback Tyrod Taylor that he alligator armed, seemingly afraid of getting hit. That kind of film will be noticed by Harbaugh and the coaching staff.

Undrafted rookie Bobby Rainey, on the other hand, stood out with each opportunity. Rainey ran for 36 yards on 12 carries, caught three passes for 28 yards and a touchdown, and he had 76 yards on special teams returns (for a total of 140 all purpose yards). Rainey’s touchdown reception came on a screen pass, where he dodged a couple of defenders and found some blockers to run behind before taking off for the left side of the end zone. Rainey made a case that he should be given some second-team reps next week, that is if third-round rookie Bernard Pierce remains out with a hamstring injury.

Albert McClellan, Ricky Brown looking good: Linebackers Albert McClellan and Ricky Brown tied for the team lead with five tackles. McClellan had a sack and Brown forced a fumble. In addition, cornerback Corey Graham had five tackles with a sack.

Bad, bad, Omar Brown: Undrafted rookie safety Omar Brown was in the right place at the right time on three separate occasions against Atlanta. He first recovered a fumble inside of Atlanta’s 20-yard line that Baltimore converted for a touchdown in the third quarter. Brown then intercepted a pass at the end of the third quarter that led to another Baltimore touchdown. Brown picked up his third turnover of the game in the fourth quarter, recovering a fumble forced by Ricky Brown.

Thompson’s case: Rookie wideout Tommy Streeter, drafted in the sixth round, has the size and speed (6-5, 4.4) that NFL teams covet. But undrafted rookie Deonte Thompson might be leading him at this time in the race for the final receiver spot on the 53-man roster. Thompson entered the game in the second quarter with the second unit. He finished the game with three catches for 53 yards and a touchdown. His speed is unquestioned, and he certainly raised some eyebrows with his play.

New injuries: Tight end Ed Dickson will have an MRI on a sprained shoulder sustained during his touchdown catch in the second quarter. Following the game, Harbaugh said it looks like Dickson will be out a few weeks. Receiver Torrey Smith sprained his ankle. Cornerbacks Asa Jackson and Chykie Brown suffered hamstring injuries. The worst-looking injury was defensive tackle Ryan McBean’s, which is possibly a broken left ankle. It looked like fellow defensive tackle Ma’ake Kemoeatu rolled over it, with McBean’s ankle laying sideways on the ground.

Follow Ravens reporter Jason Butt on Twitter: @CBSSportsNFLBAL and @JasonButtCBS.