Travel Information
Compare bus and train for Viana do Castelo to Guimarães
Omio recommends booking the bus as it is the most popular option from Viana do Castelo to Guimarães among Omio's users. If you are prioritising price take the train with prices starting from $5. For those with little time consider booking a bus which can get you there in 1h 28m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.0kg. The ticket price range depends on the travel mode: a train costs an average of $5, and a bus costs an average of $7.
Distance: 32 miles (53 km)
Compare bus with
Most popular Bus | Train | Driving |
|---|---|---|
$10 Average price | $10 Average price Cheapest | $19 Average price (fuel + tolls) |
1h 58m Average total duration Fastest 1h 28m Onboard + 30m Additional time* | 2h 7m Average total duration 1h 37m Onboard + 30m Additional time* | 53m Average total duration (door-to-door) |
0.1 - 0.1kg CO2 emissions | 0.0 - 0.0kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Viana do Castelo to Guimarães:
A train is $0.22 (€0.18) less than a bus for this route with tickets for a bus from Viana do Castelo to Guimarães costing on average $10 (€8).
Other travel options to Guimarães take longer:
Train takes on average 1h 37m.
Travel optionsfrom Viana do Castelo to Guimarães
How to get from Viana do Castelo to Guimarães by train, bus or flight.
Our recommendation
The best way to travel from Viana do Castelo to Guimarães is by taking a bus because it’s the best combination of price and speed.
8:00 PM2h35Viana do Castelo10:35 PMGuimarães$101One-way0 transfers
Cheapest
8:00 PM2h35Viana do Castelo10:35 PMGuimarães$101One-way0 transfers
Fastest
8:00 PM2h35Viana do Castelo10:35 PMGuimarães$101One-way0 transfers
Other options
7:00 PM2h35Viana do Castelo9:35 PMGuimarães$121One-way0 transfers
9:40 AM3h25Viana do Castelo1:05 PMGuimarães$141One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare bus and train prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Jun 21
Jun 22
Jun 23
Jun 24
Jun 25
Jun 26
Jun 27
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Viana do Castelo to Guimarães
Travel to Guimarães easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Viana do Castelo to Guimarães.

This is compared to other travel options from Viana do Castelo to Guimarães:
A train is $0.22 (€0.18) less than a bus for this route with tickets for a bus from Viana do Castelo to Guimarães costing on average $10 (€8).
Other travel options to Guimarães take longer:
Train takes on average 1h 37m.
- Around 28 trains per day.
- Around 6 buses per day.
However, we recommend checking specific travel dates for your route between Viana do Castelo and Guimarães as scheduled services by bus and train can vary by season or day of the week.
- Trains mostly depart from Viana do Castelo and arrive in Estação Ferroviária de Guimarães.
- Buses mostly depart from Viana do Castelo, Rua General Humberto Delgado (Central de Camionagem) and arrive in Guimarães, Alameda Dr. Mariano Felgueiras (Central De Camionagem).
- Travel with Rede Expressos, FlixBus, Rodonotre, Citi Express, Get Bus, Auto Viação do Minho to go to Guimarães by bus.
- Travel with Comboios De Portugal to go to Guimarães by train.
- 2 direct buses per day with Rede Expressos, Rodonotre.
Travelling from Viana do Castelo to Guimarães: related information
Here are some other resources that might have the information you need

