In a heavy-bottomed pot, heat 2 tablespoons of oil over medium heat. Sauté the onion and garlic until they soften and begin to caramelize.
Add the tomato paste and cook it for a few minutes until it starts to brown and caramelize.
Add the meat, then increase to medium-high heat. As it cooks, break it apart into separate, smaller pieces until they lightly brown. Season with salt and pepper.
Add the hot dogs and cook for about 2 minutes, or until they start to brown.
Pour in the crushed tomatoes and banana ketchup. Stir well to combine all the ingredients. Let it come to a boil, then lower to medium heat.
Cover and let it simmer for about 15 minutes, stirring occasionally to prevent the bottom from burning.
While the sauce simmers, cook the spaghetti according to package instructions. Unlike typical Italian dishes where pasta is often al dente, Filipino spaghetti is usually cooked until it's well done. Once it reaches this stage, drain the pasta but set aside some pasta water.
Pour the evaporated milk into the sauce. Season with sugar, fish sauce, salt, and pepper. Taste and adjust as needed.
Let the sauce simmer for another 5 minutes, then turn off the heat.
Ladle the meat sauce generously over the spaghetti, then top with grated cheese. Serve and enjoy!