There is also the option of taking a train from Porto upriver. It is a bit harder to see everything
but it's also quite inexpensive.
I can suggest two hotels:
Original Douro Hotel in Peso de Regua
Vintage House in Pinhao
Some of the quintas may also offer great lodging options, but those two hotels are easy walking
distance from the train station, which for 1 night may be helpful. The quintas may be up the hill a bit,
though, and have better views.
Maybe train up, spend the night, cruise back? Kind of depends what you want to do. Spending
a night gives you option to do wine tasting and have dinner in town.