long range transceiver

Hello, I have been looking for a transceiver for a while now without success.
I need to transfer data with low bandwidth (up to ~15 bytes per second), but for long range (~300m in field) between two arduinos. I have had a look at xbee's, but they are quite expensive and I am wondering if there is any cheaper alternative that would do the job. The best I have found so far is NRF24L01 module with some proper antenna, I am just not sure if that is the best for my problem.
I am planning to use virtualwire library if that changes anything.

I would really appreciate any response.
Thank you!

VirtualWire does not work with NRF24L01.
Virtualwire is more like software serial to simple Tx/Rx RF devices.

NRF24L01 uses SPI for control.
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

http://yourduino.com/sunshop2/index.php?l=product_detail&p=191

ivars211:
for long range (~300m in field) between two arduinos

I would be surprised if stock NRF24L01 radios would work at 300m. I think folks get 50m out of a pair of them. If you have the more expensive version with the power amplifier and antenna socket, they are said to go above 500m to 1km.