Rinse the wheat, chana dal, split peas, and red lentils. Place them in a large heavy pot with the beef, onion, water, ginger-garlic paste, turmeric, cumin, coriander, chili powder, and salt.
Bring to a boil, then cover and simmer gently for 2 to 2 1/2 hours, stirring occasionally, until the beef and grains are very tender. Add water if needed.
Blend and finish:
Remove the beef and shred it with two forks. Use an immersion blender to partially blend the grains and lentils, leaving some texture.
Return the beef to the pot, stir in the garam masala and ghee, and simmer uncovered for 10 minutes until thick and glossy.
Ladle into bowls and top with fried onions, cilantro, ginger or green chili, and lemon. Serve with naan.
Notes
For a smoother haleem, blend a little longer, but keep some shredded beef and grain texture.
The dish can be made a day ahead; add water or stock when reheating.