Rail Europe (0844 848 4070) has fares from London to Budapest (via Paris and Munich) from £371 return. Alternatively, Global InterRail passes start from £336, not including certain overnight and high-speed supplements.
LateRooms.com has doubles in Budapest from £53.93.
Beyond Budapest (+36 20332 5489) run tours of the 8th district from £18pp.