In a large mixing bowl, combine ground beef, uncooked rice, chopped onion, minced garlic, Worcestershire sauce, dried oregano, dried thyme, salt, and black pepper. Mix thoroughly until well combined.
Shape the mixture into meatballs, about 1 to 1.5 inches in diameter, and set aside.
In a skillet, heat vegetable oil over medium heat. In batches, brown the meatballs on all sides, ensuring a nice golden crust forms. This should take about 5 minutes per batch.
In a separate bowl, mix the brown gravy mix with 1 1/2 cups of water until smooth and well combined.
Pour the diced tomatoes (with their juice) into the skillet with the meatballs. Then, pour the prepared brown gravy over the meatballs and tomatoes.
Bring the mixture to a simmer, cover the skillet, and let it cook for an additional 20 minutes, or until the rice inside the meatballs is fully cooked.
Stir occasionally to prevent sticking and ensure even cooking.
Once the meatballs are cooked through and the rice is tender, the dish is ready to be served.
Serve the porcupine meatballs over cooked rice or mashed potatoes, spooning the flavorful brown gravy over the top.