I had the same situation with my now 4 year old son.
Here is my advice: Cut out naps entirely unless absolutely necessary. Up your childs activity. A structured physical play time for one hour per day as well as several hours of unstructured play. Physical activity. Running, throwing a ball, chasing bubbles. And put that kid to bed at 6pm!
We fought with naps too, thinking he needed one. After struggling for too long, he'd fall asleep and sleep for hours, which made us think he really needed that nap. But then nighttime was awful. Way too much energy at night for a decent bedtime.
We cut the naps, realized that he needed some more physical activity. Here is a fact, kids do not get enough physical exercise by just being a kid and tooling around the house between blocks, Sesame Street and Little People. We listened to his cues, and if he needed to be in bed by 5:30pm (rarely) we did it. But a goal of 6pm bedtime is our rule and it's worked for our now 2 year old daughter as well. She doesn't always nap. If she falls asleep right away great, but I don't fight her on it. If it's taking her an hour to get down, then no nap and early bedtime.
Don't think an earlier bedtime means an earlier rise. Our kids sleep until 7 ish regardless of the time they go to bed.
It may take some time to get it right for your family schedule, but reading your post just screams cut naps and early bedtime with more activity. So reminiscent of my old situation. And if she's on her way to three years old, you need to consider maybe she's done with naps. It was so sad to realize that on my end...I needed him to have nap time! But when we really opened our eyes to what he was telling us, it all smoothed out and it was great.
If you're not ready to cut naps entirely cold turkey, try some good physical activity early in the day with a nice full tummy and then an early naptime and up by 1:30-2:30pm. With the second half of the day with a planned physical activity and your bedtime routine that includes an early start-that may work as well.
Good Luck