Three full days for Porto, four with the Douro valley by train
Day 1: the old city, top to bottom, from São Bento to the Ribeira
Day 2: Gaia's port lodges, back on the lower deck at water level
Day 3: Foz do Douro for the sea air, or a slower day in the city
Two days covers the old city and Gaia, but not the Douro valley
October to March: add a spare day, the old city is slippery in rain
How to split a week with Lisbon, in the full guide