Cook the rice according to the package directions. Once it’s cooked and while it is still warm, stir through the coconut milk and salt.
While the rice is cooking prepare the sauce. Heat a medium pan over medium-high heat. Add 1 tablespoon of oil, the shallots, garlic and ginger and fry, stirring, until soft and fragrant. Add the curry paste and an additional tablespoon of oil if necessary and fry for a couple of minutes until the curry paste darkens in colour and is very fragrant. Put the curry paste in a bowl and add the peanut butter, ½ cup of the water, soy sauce, lime juice and brown sugar and mix until smooth. Add as much of the remaining ¼ cup of water as you want to reach a pourable consistency that you like.
Put the cubed tofu in a plastic or ziplock bag with the cornstarch and shake it to coat. Heat the remaining 1 tablespoon of oil in the pan and fry the tofu, flipping from time to time, until it is golden brown and crispy on all sides. Remove to a paper towel-lined plate.
Divide the rice between four bowls and top with the vegetables, cilantro and peanuts. Serve with the sauce on the side.