The cleanest way to do this in one day is to leave Delhi late tonight and reach Ujjain early tomorrow morning, either by a late-night flight to Indore plus a cab into the city, or by an overnight train direct to Ujjain Junction. Door-to-door, you’re looking at roughly 7–12 hours depending on connections, so pack light, keep a change of clothes handy, and plan to freshen up right after arrival before stepping out. If you’re coming by cab from Ujjain Junction to the old temple belt, it’s usually a short ride; autos are everywhere, but for early-morning temple circuits a pre-booked cab is the least annoying option.
Start at Mangalnath Temple in the Mangalnath area while the city is still calm; this is the kind of stop that feels best before the crowds and heat build. Give it about 45 minutes, and go in simple clothes because this is very much a working temple visit, not a sightseeing stop. From there, head to Kal Bhairav Temple on the Kshipra bank / Bhairavgarh side, which usually takes around 20–30 minutes by auto or cab depending on traffic. This shrine has a very local, intense energy, and it’s known for its unusual offerings, so expect lines, a bit of pushing in peak hours, and a very devotional atmosphere. Keep another hour here; early to late morning is the best window before the real rush sets in.
By early afternoon, slow the pace at Ram Ghat on the Kshipra River. Walk the ghats, watch pilgrims bathing and offering prayers, and don’t try to rush it—this is the heart of sacred Ujjain life, and the best experience is just sitting for a while and taking it in. From Kal Bhairav Temple, it’s an easy auto ride back toward the river-ghat zone. After that, head to Shree Ganga Restaurant near the Mahakal area for a straightforward vegetarian lunch; expect simple North Indian thalis, sabzi, roti, rice, and quick service, usually in the ₹150–300 per person range. It’s not fancy, but it’s practical, close to the temple circuit, and exactly the kind of place that keeps the day moving without wasting time.
Save Mahakaleshwar Jyotirlinga for later in the day, when the temple atmosphere starts building toward evening and the energy becomes unmistakably Ujjain. Give yourself 2–3 hours here because the process can involve security checks, queues, and a little patience, especially if you’re aiming for the evening aarti vibe. Dress modestly, keep your phone and belongings minimal, and expect a lot of foot traffic around the old Mahakal zone; if you have time, arrive a bit early so you’re not sprinting in at the last minute. After darshan, if your return is by flight or train, leave the temple area with enough cushion to get back to Indore or Ujjain Junction calmly.
If you’re doing a second, quieter darshan before leaving town, aim to be at Mahakaleshwar Jyotirlinga by around 5:30–6:30 AM; that gives you a calmer window before the day crowds build, and you’ll usually be done in about 1.5–2 hours depending on queue length and your style of darshan. The Mahakal zone is easiest to navigate on foot once you’re dropped nearby, but autos are the practical choice for the last stretch if you’re staying farther out. After darshan, spend a short 20–30 minutes in Nandi Hall at Mahakaleshwar Temple—it’s a good pause to take in the inner devotional space and the temple architecture without rushing, especially when the complex is still relatively quiet.
From Ujjain, leave for Omkareshwar as early as possible so you’re not entering the temple town in full midday heat; the road via Indore–Sanawad–Omkareshwar is the most practical, and the 4–5 hour drive is much more comfortable in a private taxi than by piecing together buses and shared cabs. Expect some slower patches near market stretches and smaller junctions, so a mid-morning arrival is ideal. Once you reach Mandhata Island, park on the town side and take the local footbridge/short walk across depending on your drop-off point; the last approach into the shrine area gets busy, but it’s part of the charm here, with river views opening up as you get closer to the temple.
Set aside about 2 hours for Omkareshwar Jyotirlinga itself, because the island setting and the flow of pilgrims make it a place you naturally want to linger in rather than just tick off. Go with the crowd rather than fighting it; the shrine feels most complete when you allow time for the ghats, the river edge, and a little sitting around after darshan. From there, continue to Kedareshwar Temple, which is a quieter, more reflective stop—good for a 30–45 minute detour when you want a break from the main bustle. It’s not a long walk, but do wear comfortable footwear and carry water; the paths and steps around the island can be uneven, and June afternoons get warm fast.
For lunch, keep it simple with a vegetarian thali or a local dhaba meal near the Omkareshwar ghats or in the bazaar area; budget roughly ₹120–250 per person, and don’t expect fancy seating—this is the kind of place where the food is meant to be hearty, fast, and fresh. If you’re driving back, leave by mid/late afternoon at the latest so you can clear the town before the evening rush and still have a buffer for tea or a restroom stop on the way back via the Indore/Ujjain corridor. If your return is by train or flight connections, build in extra time from Omkareshwar to your transfer point, because the route can feel longer than the map suggests once local traffic and temple-town delays are added in.