Earth : Europe : Iberia : Portugal : Northern Portugal : Minho : Guimarães
The easy way to go to Guimarães by plane is to fly to Porto/Sa Carneiro/Pedras Rubras,Maia. Oporto international airport(OPO), and then catch a train or a bus to Guimarães. It's about one hour from Oporto to Guimarães, by bus, and almost one hour and a half by train.
There are very low cost airlines flying to Oporto, the ones that fly from more places are Ryanair and EasyJet. Also, coming from Paris, Transavia, or, coming from Barcelona Clickair. Certainly, more low cost airlines are flying to Oporto, but the other ones have fewer trips per day.
Once you get in airport Sá Carneiro, you have to catch the Metro, and go to Campanhã Station or São Bento Station to get a train, or, if you want to go by Bus, you have two places that you can go: Trindade Bus Station or Batalha Square Bus Gare.
It's the cheapest and the best way to arrive in Guimarães. The Portuguese company CP is the one that provides travel by train. If you come from Lisbon you have some, but few, direct travels to Guimarães. It's about fours hours. From Oporto, you have a train every hour.
If you come by train from Europe, on InterRail, for example, you have always to go to Oporto first, and then you catch the train to Guimarães. This trip can give you the best attractions. One is the cheapest price, and the other is the wonderful views, passing over some small rivers, and small villages, in rural Portugal.
You have a lot of highways going to Guimarães, from Braga, Porto, Felgueiras, Chaves, and others. If you are coming from the south of Portugal there is no difficulty at all. The Portuguese highways are all very well connected, and you only have to go straight to Oporto, and then in Oporto you catch A7(Highway 7) which goes to Guimarães. It's quite easy.
Rede Expressos, a national bus company, and is the best way to get to Guimarães. With this company you can travel from almost every (big) city in Portugal (i.e. Lisbon, Oporto, Coimbra).
If you are traveling by cities near to Guimarães, like Braga, for example, or even Oporto, you always have to ask to people (a very common thing in Portugal) where you can get a bus to Guimarães (you can try this in the cities within about 50km). You may make a lot of stops during the trip, but it's a way to better get to know the North.
In Guimarães, you have a bus that let you do a travel through the city centre. But, as you don't have a big city centre, probably, you will prefer to walk by foot, and enjoy the harmony of this medieval city. If you usually purchase a long time ticket in other cities, to travel, here you may not afford it. But, if you want to travel by bus, the tickets price are about 1,25€.
To go to Penha Mountain the best solution is getting the Elevators - "Teleférico da Penha" - and climb up. If you prefer to have a walk through the mountain it's very safe, and you have nice roads to go up, but it will take about 30 minutes.
Renting a car can be a very nice solution, because, in a small city there is not many traffic jams, and if you want to stay in a place "far" from the centre, it can be a wonderful transport. It's not so expensive to rent a car. But, if you want to feel the city, you can make longer trips, because the city centre has a lot of small medieval streets, that you can only enjoy walking.