Cheapest I foudn was barcharts.com -look around and you can get them for below 40 USD per month.
Plus exchange fees for those you need real time - others are delayed. Note that NOONE will make you get around that - the exchange fees go to the exchange, and not paying them basically means stealing the data, as it is under copyright until end of the day 😉
EOD - eodddata.com, though be careful with historical data, i still wait for them to get their act together after 2 months, deliverying only partial data.