Cut the tofu blocks in half lengthwise (so they're thinner and remove more moisture), then again into smaller pieces to help remove more moisture.
Press out moisture from the tofu: the tofu on a plate, with a kitchen towel or paper towels above and below the tofu. Cover with another plate to slightly weigh it down to remove moisture for 20-30 minutes. This will help prevent the oil from splattering during frying. Here's how it looks after pressing.
Fry the tofu. Heat a pot of oil to 300 F, then add 4-6 pieces of tofu at a time to fry until golden brown, making sure to move them around a bit right after adding so they don't stick. It should only be a few minutes each. Remove the fried ones to plate with paper towel to drain excess oil, and continue frying the rest until they're all fried.
Slice the tomatoes into bite sized pieces, about 4-8 pieces per tomato. It will help them cook quicker too.
In a new medium sized pot, add all the sauce ingredients. Bring to a boil on high heat, then lower to simmer at 30% heat for about 10 minutes, or until tomatoes are cooked through and the liquid reaches your desired concentration.
Taste the sauce at this point. See if it needs any more tomato paste, fish sauce, salt or sugar. If the tomatoes aren't super flavorful or ripe to start, I like to add more tomato paste, sugar, and maybe some salt at this point.
Add the tofu to the pot, toss to combine.
Keep mixing for a few minutes so the tofu warms up and soaks up some of the sauce. Retaste and adjust as necessary then top with sliced scallions and serve!