In a large pot, warm the oil over medium heat. Add the onion or shallot, sprinkle with salt and sauté for 3-5 minutes, or until translucent. Next add the ginger, garlic, and carrots. Stir and continue to cook for about 5 minutes more.
To the pot, stir in the curry paste, peanut butter and coconut milk then simmer for 5 minutes. Next, add the broccoli, red pepper and water or broth. Bring to a low boil and cook just until broccoli is soft, for about 5-7 minutes.
Lastly, stir in the tamari, lime juice (and coconut sugar, if needed). Taste test to see if you prefer more of each. Add tofu at this point if using. Cook until heated through.
Serve warm with cooked rice, cilantro, lime wedges and/or chopped peanuts as a garnish. Leftovers will keep for up to 3-4 days when sealed in the refrigerator.
If you use unsalted peanut butter without sugar added then you may want to add a tablespoon of coconut sugar (or brown sugar) and possibly more salt, to taste.