Rookie kicker Justin Tucker made field goals of 56, 51 and 48 yards for the Ravens, but Joe Flacco couldn't get Baltimore (1-1) in his range in the final minute.
Flacco overthrew Ray Rice on fourth-and-1 from the Ravens 46, and the Eagles ran out the clock.
Vick threw four interceptions at Cleveland last week, but rallied the Eagles (2-0) to a 17-16 win.
He did it again, though the replacement officials almost made a costly mistake.
Down 23-17, the Eagles started at their 20 with 4:43 left. Vick threw passes of 24 and 13 yards to Brent Celek. A 19-yard pass to Clay Harbor coupled with a roughing-the-passer penalty put the ball at the 3.
Vick then threw incomplete as he was being hit by Haloti Ngata, but the play was ruled a fumble. It was recovered by the Ravens, but replay overturned the turnover and Vick scored on the next play.