Marinate cleaned beef with ingredients listed under marination (pearl onion - vinegar) and salt. Keep it aside for 15 mins.
Pressure cook the marinated beef along with 1.5 cups water, till it's done. Cook on full flame till the first whistle comes. Reduce to low - medium flame and cook for another 10-12 whistles. The cooking time may vary depending on the beef used.
Grind together ingredients listed under "to grind" along with 2-3 tbsp water to a smooth paste.
Heat oil in a deep and wide pan. Add sliced onions and cook till it becomes golden brown.
Add ground paste along with coconut slices. Cook for 3-4 mins on low flame, till the raw smell goes and oil starts appearing. Add 1-2 tbsp water to bring together the masala.
Add sliced tomato and cook till it becomes soft. Add 1-2 tbsp water to the masala and mix well.
Add cooked beef along with the stock (cooking water). Mix well and bring it to boil. Reduce flame to lowest and continue cooking till the gravy is reduced and beef pieces are coated well with masala.
Heat oil in a small pan and crackle mustard seeds. Add sliced pearl onion, curry leaves and dried red chilli. Fry till the onion becomes golden brown. Add this to the beef and mix well. Let the curry rest for 25-30 mins, for the flavour to settle in.