Clean, wash, and soak whole urad dal in water overnight. Drain the water. In a pressure cooker, add the soaked dal, 1/2 cup of onions, chopped ginger, salt, and 2 1/2 cups of water.
Pressure cook the dal mixture over medium flame for 15 to 20 minutes until the urad dal is cooked. Allow the pressure to release naturally before opening the lid.
Mash the cooked dal and add fresh cream. Cook the dal on low flame for 10 minutes to thicken it. Stir occasionally to ensure the bottom doesn't burn. Add more water if you feel the dal if too thick. Set aside.
For tempering, heat oil and ghee in a small pan. Add the remaining 1/2 cup of onions, ginger-garlic paste, and green chillies. Sauté until the onions turn translucent. Add the chopped tomatoes and sauté for 3-4 minutes until the mixture starts releasing oil.
Stir in the chilli powder, turmeric powder, amchur, coriander powder, cumin seed powder, garam masala, and salt. Sauté for 2-3 minutes.
Add the tempering mixture to the dal and simmer for 5 minutes. Adjust the consistency by adding ¼ to ½ cup of water as needed.
Serve the dal garnished with fresh cream.