I have checked out Ryanair who fly direct from Edinburgh to Porto for £120 approx return and they fly both ways on Tuesdays and Saturdays so not massively convenient unless you want to spend a week in Portugal.
The cheapest I have found is from Edinburgh to Porto with Brussels Airlines. £182 flying out on the Friday and back on the Monday. It's not a direct flight and goes via Brussels. EDI 06:00 - OPO 12:05 OPO 12:55 - EDI 22:00
There's also a slightly later flight which seems to make the same connection and is £20 more expensive. Probably worth it for the hangover friendly later start. OPO 15:55 - EDI 22:00
Alternatively it looks like you can fly direct from Manchester for £102 if you're willing to stay an extra day and come back on the Tuesday. MAN 16:20 - OPO 19:00 (Monarch) OPO 16:55 - OPO 19:20 (Easyjet)