If using frozen tofu, thaw overnight. Drain the 4 oz firm tofu and squeeze out as much liquid as possible with your hands or by wrapping in a clean towel and pressing until sponge-like. Break into pieces.
Pulse the drained tofu in a food processor until it forms small crumbles. (If you don’t have a food processor, crumble by hand.)
Finely chop ½ onion and mince 2 cloves garlic.
Measure out the 3 Tbsp olive oil and set aside. Heat a frying pan or skillet over medium heat and add 1 Tbsp olive oil. Add the chopped onion and minced garlic and cook over medium-low heat, stirring occasionally, until the onion is softened and translucent but not browned (about 5–7 minutes). Remove the pan from heat.
Place the cooked onion and garlic in a bowl with 1 Tbsp of the reserved olive oil and blend with a hand blender until a coarse paste forms. Reserve the final 1 Tbsp olive oil for frying.
In a large mixing bowl combine: the tofu crumbles, ½ cup breadcrumbs, ¼ cup dairy-free milk, 4 Tbsp corn starch, the onion–garlic paste, ½ tsp sweet smoked paprika, 1 tsp dried sage, 1 tsp dried thyme, ½ tsp fennel, ½ tsp salt, and 1 Tbsp nutritional yeast. Mix thoroughly with a spatula or your hands until evenly combined.
Portion the mixture into small patties using about 1 Tbsp of mixture per patty. Press and shape each into a compact patty.
Heat the skillet over medium heat and add the remaining 1 Tbsp olive oil. Fry the patties in batches, 2–3 minutes per side, until golden brown and heated through. Avoid overcrowding the pan.
Transfer cooked patties to a plate lined with paper towels to drain briefly. Serve warm.