Take the bus. It's the cheapest way to make this trip, and the price gap is usually bigger than people expect.
Tickets start at around $9 (€7) compared to roughly $44 (€35) in fuel and tolls — a saving of about $35 (€28). The journey takes 2h 12m versus 1h 33m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by Rede Expressos, Rodonotre, FlixBus, Alsa, BlaBlaCar.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.