I have a flight that arrives in Lisbon at about 11:15 am (coming from Barcelona first week of September). I thought about catching a flight with TAP to Porto since I'll already be at the airport. But the convenient time to fly out (about 1 or 2 pm) costs a bit (about $130). I'll be in Porto around 3 pm (this includes time between Porto airport and city) if I take the 1 pm flight. I know there is the option of the train, however after looking at the schedules it seems like I have to wait until about 2 pm to get the train out of Oriente station (I'm figuring I'll be out of the airport by 12:15-12:30 pm the latest), which leaves me in Sao Bento station at 5 pm (two hours lost versus if I decided to fly). Then there's the bus, which offers a convenient 1 pm departure from Lisbon center and arrives in Porto at 4:30 pm. But then I have to take the time to get from the airport to the bus station, which I'm sure adds about 30 mins or so (correct me if I'm wrong here). I'm all about maximizing time, but I am likely staying in Porto 3 nights (I'll have 2 full days and the amount of time left in the day I arrive). So, if it's not necessary to get there as early as possible I guess I can suck it up and take the train or bus. I just don't like waiting around. Any input here would be greatly appreciated.
On a separate note, after looking at Portgal's train website I noticed that I can't buy train tickets in advance. Do I have to wait to buy them at the station?