Thank you all.
Upon further reflection, we decided to just drive. 3hr drive is not optimal, but about the same time as fly to OPO and drive to Douro, and less risk of missing flight. Plus we will have checked baggage. Cash tickets are rather pricey at $140, so dont to book them if there is strong chance of missing it . And definitely faster than train to Porto and drive from there.