There are couples ways to get to Budapest from Poland. I would like to share these information cause I did travel to Hungary often and I haven't found these information before in many places on internet.
So, the most comfortable and the cheapest way is to travel by 'orangebus' company, which will take you from Krakow to Budapest for around 16€ = 5000 HUF= 70 Polish ZL. Travel take no more than 7 hours, during travel you can watch movies (dubbed Hungarian; subtitled in English) and drink free hot chocolate/cappuccino/coffee. Nowadays buses go five times a week and you always have to buy ticket little earlier cause it can happened that bus will be full.
The other way is to travel by train from Katowice (which is closer than if you would travel from Krakow). If you planed your trip much time before you shouldn't have a problem with buying ticket in promotion price - 29€. It's a reasonable price, even more that it includes place reservation and if you pay 10€ extra (so 39€ together) you can get a couchette and sleep all the way. Train leaves at early morning or at night and goes around 8 hours form Katowice, so you can have a big sleep. To get a tickiet in a promotional price you have to buy it at least week before travel (if you are lucky you can get it even some days before travel but remember that number of cheap tickets it's limited).
Problems with travel starts when you can't get or the bus or the cheap ticket for a train. There is no discount for the students so PKP from Katowice to Budapest want you to pay 340 ZL (around 80€)!!! This is because they count kilometers in another way if you travel threw other countries. There is no logical reason why you should pay this money. You can instead:
1. Buy a tickiet till polish border (Zebrzydowice) it's around 10 ZL (2,5€)
2. Later buy ticket for Czech part (form Bohumin where train stops for around one hour). This tickiet cost around 240Korons, but if you buy it together with someone (1,2,3,4 persons together) it's way cheaper, so it's worth to ask at the train if someone is going to Budapest and doesn't have a tickiet as well.
3. You buy a ticket for a Slovakian part, officially it cost around 11€, but if you will give to the ticket inspector 5€ without asking for a paper ticket he will be happy;)
4. Last - Hungarian part is the most expensive cause in Hungary it's not just an express train but an InterCity. However it's more than 3000 HUF but form my experience you can try a similar trick as in the Slovakian part - so try to not give more then 1000HUF without expectations for a paper ticket.
So, finally you will pay even less than a cheap ticket (29€) but there are some minuses of this kind of traveling like: you need to have with you couple currencies (Czech, Slovakian,Hungarian) and you wont have a perfect sleep while you have to handle buying the ticket during travel.
Hope, that you found these information useful, and please, if you found also some cheap/fast way to travel from Poland to Hungary share it with us!
So, the most comfortable and the cheapest way is to travel by 'orangebus' company, which will take you from Krakow to Budapest for around 16€ = 5000 HUF= 70 Polish ZL. Travel take no more than 7 hours, during travel you can watch movies (dubbed Hungarian; subtitled in English) and drink free hot chocolate/cappuccino/coffee. Nowadays buses go five times a week and you always have to buy ticket little earlier cause it can happened that bus will be full.
The other way is to travel by train from Katowice (which is closer than if you would travel from Krakow). If you planed your trip much time before you shouldn't have a problem with buying ticket in promotion price - 29€. It's a reasonable price, even more that it includes place reservation and if you pay 10€ extra (so 39€ together) you can get a couchette and sleep all the way. Train leaves at early morning or at night and goes around 8 hours form Katowice, so you can have a big sleep. To get a tickiet in a promotional price you have to buy it at least week before travel (if you are lucky you can get it even some days before travel but remember that number of cheap tickets it's limited).
Problems with travel starts when you can't get or the bus or the cheap ticket for a train. There is no discount for the students so PKP from Katowice to Budapest want you to pay 340 ZL (around 80€)!!! This is because they count kilometers in another way if you travel threw other countries. There is no logical reason why you should pay this money. You can instead:
1. Buy a tickiet till polish border (Zebrzydowice) it's around 10 ZL (2,5€)
2. Later buy ticket for Czech part (form Bohumin where train stops for around one hour). This tickiet cost around 240Korons, but if you buy it together with someone (1,2,3,4 persons together) it's way cheaper, so it's worth to ask at the train if someone is going to Budapest and doesn't have a tickiet as well.
3. You buy a ticket for a Slovakian part, officially it cost around 11€, but if you will give to the ticket inspector 5€ without asking for a paper ticket he will be happy;)
4. Last - Hungarian part is the most expensive cause in Hungary it's not just an express train but an InterCity. However it's more than 3000 HUF but form my experience you can try a similar trick as in the Slovakian part - so try to not give more then 1000HUF without expectations for a paper ticket.
So, finally you will pay even less than a cheap ticket (29€) but there are some minuses of this kind of traveling like: you need to have with you couple currencies (Czech, Slovakian,Hungarian) and you wont have a perfect sleep while you have to handle buying the ticket during travel.
Hope, that you found these information useful, and please, if you found also some cheap/fast way to travel from Poland to Hungary share it with us!