Break the Tempeh into about 5 - 6 blocks. Add to boiling water and boil for 10 minutes.
While that's happening, whisk all the ingredients for the marinade together.
Remove Tempeh from boiling water and let cool for a few minutes. Then mash with a potato masher or mash by hand (just make sure it's cool enough to handle if doing by hand).
If using fresh onions / shallots and garlic, add them to a preheated pan over medium heat with a little oil. Add the onions / shallots first and cook until translucent and slightly browned, about 4 - 5 minutes.
Add in the garlic and cook for one minute. Then add in the tempeh followed by the marinade.
Stir to combine and then reduce the marinade down to your desired consistency. For me this is about 5 - 8 minutes, or until about 90% of the liquid has been reduced / absorbed.
Season to taste (add the ketchup if it still tastes bitter) and your tempeh meat is done! Enjoy however you like!
Notes
*You can use 1 tsp each of onion and garlic powder to replace the fresh shallot / onion and garlic.