Heat oil in a large fry pan or pot. Add shallots and cook for 2 minutes or until starting to soften.
Stir in curry paste and cook for one minute. Add carrots and mushrooms and stir for one minute.
Add coconut milk, broth, and lime leaves if using. Bring to a simmer, scraping up any brown bits from the bottom of the pan. Simmer for 5 minutes. Taste the sauce to decide whether to add more curry paste (see note).
Add bok choi, red pepper, and tofu. Bring back to a simmer and cook gently for 5 minutes or until carrots are crisp-tender.
Remove from heat and stir in cilantro, fish sauce, sugar, and lime juice. Taste and adjust seasonings as needed.
Serve with your favorite rice, noodles, or a low-carb option like cauliflower rice or zucchini noodles. It’s also delicious all on its own!