Prepare the Meatballs. In a large mixing bowl, combine the ground beef, uncooked rice, chopped onion, egg, garlic powder, salt, and pepper. Mix until well combined, but avoid overworking the mixture to keep the meatballs tender.
Form the Meatballs. Roll the mixture into golf ball-sized meatballs. You should end up with about 12–16 meatballs, depending on the size.
Brown the Meatballs. In a large skillet, heat a tablespoon of oil over medium heat. Brown the meatballs on all sides, working in batches if necessary to avoid overcrowding the pan. This adds a delicious crust to the meatballs.
Simmer in Sauce. Once browned, add the tomato sauce and beef broth to the skillet. Bring the sauce to a simmer, then cover and cook on low heat for 30–35 minutes. The rice inside the meatballs will cook and expand, creating the porcupine look.
Serve and Enjoy. Once the meatballs are fully cooked and the sauce has thickened, remove from heat and serve with mashed potatoes, rice, or a crusty loaf of bread to soak up the delicious sauce.