List of places that broadcast EURO 2012 football finals & serve beer :)
The game between Spain and Italy will begin 21:45 in local time.(So get your time right)
My suggestions would be:
Katusekino | Viru Keskuse katuseterrass, Viru väljak 4/6, Tallinn - 
Cinema "Sõprus", Vana-Posti 8 10146 - õ
St. Patrick's (Multiple places - see link for more information) - 
Well basically every pub or inn will broadcast the event - so if you will step into a pub there most likely will be football.