Preheat the oven to 425 degrees F with a rack set on the middle shelf. Place the hearts of palm onto several layers of paper towels to absorb any excess liquid. Season lightly with salt.
Heat 2 tablespoons of the oil in a large high-sided skillet over medium to medium-high heat until it just starts to shimmer. Sear the hearts of palm until golden brown on both sides, 2 to 4 minutes total. You may need to do this in two batches to avoid crowding the skillet. Transfer to a baking sheet or large plate. Discard the used oil and wipe out the skillet.
Add the remaining oil to the same skillet over medium-high heat. Add the onions and 1/2 teaspoon salt and cook until softened and lightly browned, stirring occasionally, 6 to 8 minutes. Add the garlic and cook until just softened, stirring constantly, about 1 minute. Stir in the crushed tomatoes, diced tomatoes, red pepper flakes, 1/2 teaspoon salt and fish sauce if using. Bring to a boil, and then reduce to a simmer. Simmer, uncovered, for 15 minutes.
Season with additional salt if needed. Carefully pour the sauce into a 13- by 9-inch baking dish. Add the browned hearts of palm to the sauce in a single layer and sprinkle all over with the grated cheese. Bake until the cheese is lightly golden brown, about 10 minutes. Allow to sit at room temperature for 5 minutes before serving. Top with the basil.
To serve, divide the warm polenta among 6 bowls and top with the hearts of palm and tomato sauce.
From Food Network Kitchens