Heat olive oil in a large nonstick saucepan and add chopped garlic. Fry for a few seconds and then fry chopped onion till translucent followed by chopped tomatoes, 2 teaspoons red chili powder, 1 teaspoon red chili flakes, 1 tablespoon tomato sauce, 1 tablespoon soy sauce, and a pinch of salt. Cook for 5 minutes on slow flame. Then slowly add meatballs one at a time and again cook on slow flame for 5 to 7 minutes.
In a separate pan add a few drops of oil and stir fry chopped mushrooms and capsicum till golden and crispy. Remove from heat.
Add the fried veggies to the meatball sauce and continue cooking. Now add 1 cup pasta water or chicken stock, dried basil (optional), and 1/2 cup milk. Stir and keep cooking till meatballs are fully cooked.
Just before serving, heat up the meatball sauce and add the cooked spaghetti and 1/2 cream. Add more water or stock if the sauce looks too dry. Taste and adjust the seasoning. Finally, remove the spaghetti in a serving dish, garnish with grated parmesan cheese and chopped parsley and serve hot.