Bring the water (and milk if using) to a boil in a heavy sauce pan or Dutch oven. Stir in the salt.
Gradually sprinkle the polenta into the pan while whisking at the same time. Turn the heat to a very low simmer and cover the pan. Continue to cook the polenta for 25 - 30 minutes, until the polenta is thickened, fluffy and begins to pull away from the sides of the pan. Stir occasionally so it doesn’t stick to the bottom of the pan.
When the polenta is done, remove from the heat and stir in the butter or olive oil, cheese and season with additional salt if you like.
To make the shrimp
Pour the oil into a 10-12-inch skillet and place over medium-high heat. When the oil starts to shimmer, add the shrimp in one layer. Cook until the shrimp begin to turn opaque on the bottom, about 2 minutes.
Turn the shrimp over and add the tomatoes, red bell pepper, shallot, garlic and lemon juice. Bring to a simmer and cook until the tomatoes soften and become juicy and the shrimp are pink and cooked through, about 5 minutes. Sprinkle the basil over the shrimp.
Serve the polenta in shallow bowls with the shrimp and sauce spooned over the top. Sprinkle with additional Parmesan cheese and enjoy!
Non-dairy option: Substitute an unsweetened plant-based milk such as oat or almond milk in the polenta (or just use all water) and omit the cheese.Meal prep: Make the polenta up to 2 days ahead. To reheat for serving. add 2-3 tablespoons water for each cup of polenta to a saucepan and stir to break up the clumps. Cover the pan and heat over medium-low heat until heated through, stirring occasionally, about 5 minutes.