You probably don't want to hear this, but your best option is to let her "cry it out." It was the ONLY thing that worked for us. You need to make sure, though, that you are COMPLETELY committed to the method before you try it. If you let her cry for 2 hours, then pick her up, the only thing she will learn is that it takes at least 2 hours but eventually Mom picks me up. And yes, she could cry for 2 hours, even more.
It's important, also, to maintain a neutral attitude. You don't have to be MEAN- it's not punishment. You just need to be firm. Adopt a matter-of-fact, this-is-how-we-do-it attitude. Create a routine. Then stick to it.
Some people suggest staying in the room until the child falls asleep. Some people say leave, but come check on the child every so often. Some people say you should leave and not return unless the child is in some sort of danger. I say you need to figure out which of these works with YOUR child. Some kids go CRAZY if Mom is in the room but won't respond. Some kids find solace in Mom's intermittent returns, while others find them confusing.
I'm not kidding when I say it was the only thing that worked for me. Your bed- and nap-time routine sounds exactly like mine did.