Wash the eggplants well. Trim off a little of the stem. Slit the eggplant vertically into 4 from the bottom, right up to the stem keeping it intact. Place the slit eggplants in salted water for about 15-20 minutes. Let's prepare the stuffing.
Roast peanuts on low heat, set aside.
Grate dry coconut, roast it on low heat until golden brown, set aside.
Chop the onions, and saute in little oil until translucent. Set it aside, let it come to room temperature.
In your food processor/ mixer, grind the grated roasted coconut, onions, garlic and roasted peanuts to make a coarse mixture. Add 1-2 tablespoon of water if required. Do not grind to a fine paste.
To the above mixture, add chopped tomato, turmeric, chilli powder, cilantro, garam masala, and salt as required, mix everything well.
Stuff each eggplant generously with this prepared mixture.
Heat oil in a pan, when the oil is hot enough, add the stuffed eggplant, sprinkle a little salt ( go easy on the salt, as we have already added in the stuffing mixture ) shallow fry it on low heat for about 5-7 minutes turning sides once in between. Do not stir vigorously as all the stuffing might come out. ( Well it doesn't really matter but if you'd like it to look nice, avoid stirring it too much).
Now add 1 cup of water to the leftover masala, mix it well. Pour this in the pan & stir very gently to incorporate everything.
Cover the pan, let it simmer on low heat for 30 minutes or until the eggplants are cooked through and soft, stir once or twice in between. Once the oil floats on top, the gravy is cooked. If the eggplants are still not done, reduce the heat and let it cook. Garnish with cilantro.