You have probably changed your settings at some point and set fees to Frugal. But frugal is quasi broken, no-fee transactions go nowhere.
So, first thing is to go back to blockchain.info settings and put fee to Normal.
Now, to get your money back:
1. Wait.
2. Wait some more.
3. Wait.
4. Now, at some point, that transaction will either get picked up by a miner (you have to be very very very lucky) and get confirmed OR it'll fail, and blockchain.info will now show your money back on your wallet (enable your email notifications for money received to be sure when exactly this happens).
5. As soon as you get your money back on your wallet spend it and send it to some other address. You must do it fast because blockchain.info will re-try your original tx a couple times before giving up. You are attempting to spend it inbetween those retries as you would when dealing with a double spend. You must be patient, each try could take a couple days..
If this fails and you get stuck in a loop of
blockchain.info sends orig tx (unconfirmed)
wait
btc back in your wallet
blockchain.info sends orig tx (unconfirmed)
wait
btc back in your wallet
blockchain.info sends orig tx (unconfirmed)
wait
btc back in your wallet
First gather more patience, try a couple more times, and if not you will have to:
1. Download full official bitcoin client + sync (8gb)
2. Import blockchain.info wallet in official client
3. Get and install pywallet and all pre-reqs (python and a couple libs)
4. Use your wallet.dat in the Delete transactions function of pywallet.
5. Delete the original tx
6. Resync wallet and you should have your btc back...
If it comes to this, I suggest doing a little more research on it all first.
Remember, patience !
Good luck !