The honest answer is: it's not a tie.
Porto is the better trip if you have three or four nights. Lisbon is the better trip if you have a week and energy to burn. They're the same country and almost nothing else in common.
## Porto if you want
A small city you can walk in two days. Hills that earn the meal. Petiscos and Port at golden hour. Less English, more old men in cafés. It's a city that hasn't decided whether it likes tourists yet — that ambivalence is half the charm.
Three nights here is the right shape. Stay in Cedofeita, eat at Flor dos Congregados, cross the bridge to Gaia at 6pm.
## Lisbon if you want
A bigger city with seven hills and a serious case of identity multiplication. Alfama is medieval. Príncipe Real is bourgeois. LX Factory is converted-warehouse cool. Belém is monumental. None of them feels like the others.
A week here works because you need a day to get bored of one neighbourhood and decide which one you actually like.
## The brutal version
If you're choosing between them and you have four nights — Porto. Less to be wrong about, more to be charmed by, easier to feel like you've "got" the place.
If you have ten — Lisbon, with two of those nights in Sintra.
If you have a weekend, neither. Go to Madrid. Both Portuguese cities punish a 48-hour trip.
## When
April–June or September–October for both. Avoid August (Lisbon empties; locals leave).
## One rule
Don't try both in the same trip unless you have ten days. Two cities in one country at half-attention is the saddest holiday math.