I took a train from Lisbon's Santa Apolonia station (close to Alfama historic district) that left around 9am
Price: ~30 Euros
Trip duration: ~3 hours
I didn't buy the ticket ahead of time, just went to the Santa Apolonia station and bought it right then and there on Visa
The destination of the train is Porto's Companha station (which is actually outside of the historical area of Porto where travellers go to). You need to get to Sao Bento station
The ticket you paid for includes the fare for the connecting train ride to Sao Bento station (which is the station that's actually in the historic part of Porto), so you don't need to buy another ticket.
What confused me was that the ticket I had in my hand didn't show Sao Bento as the destination on it
Just follow the TV at the station for the platform to Sao Bento. You don't need to go to the ticket booth for another ticket