In a cold fry pan add the oil and the chopped garlic. Turn the heat to medium and allow the fry pan to slowly heat up. Let the garlic infuse in the oil for a few minutes but do not allow it to colour.
Add the chopped tomatoes and break them up using a wooden spoon. Cook for one minute.
Add the canned tomatoes, water, salt, sugar, pepper, vegetable stock and fish sauce. Stir until combined.
Add the fried tofu puffs and mix in well. Turn the heat down to medium-low and cook for 6 minutes.
After 6 minutes add the onion wedges and and cook for a further 2 minutes.
Check the seasoning of the sauce. Add more fish sauce/soy sauce for extra salt and flavour, or sugar to counter the tang of the tomatoes.