Wash beef bones and drain well.
In a large pot over medium heat, heat oil. Add onions and garlic and cook until limp. Add beef bones and cook, stirring occasionally, until lightly browned. Add tomatoes and cook, mashing with back of spoon, until softened and release juice. Add fish sauce and continue to cook for about 1 to 2 minutes.
Add water and bring to a boil, skimming scum that may float on top. When broth clears, lower heat and cover. Continue to cook for about 50 minutes to 1 hour or until meat is fork-tender. Add more water in ½ cup increments as needed to maintain about 5 cups.
Add potatoes. Continue to cook for about 7 to 10 minutes or until potatoes are tender. Add pechay and cook for about 2 to 3 minutes or until tender yet crisp. Season with salt and pepper to taste. Serve hot.