Trim any excess fat from the beef steak. Using a meat mallet or rolling pin, pound the steak to about 1/2-inch thickness. Cut into 4-6 portions.
In a shallow dish, combine the flour, salt, and pepper. Dredge each piece of steak in the flour mixture, shaking off any excess.
Heat the vegetable oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Brown the floured steak pieces on both sides, working in batches if necessary. Remove the steak and set aside.
Add the chopped onion to the pot and cook until softened, about 5 minutes. Add the minced garlic and cook for another minute until fragrant.
Stir in the diced tomatoes (with their juice), beef broth, Worcestershire sauce, and dried thyme. Bring the mixture to a simmer, scraping up any browned bits from the bottom of the pot.
Return the browned steak pieces to the pot. Ensure the steak is mostly submerged in the liquid. Cover the pot tightly.
Reduce the heat to low and simmer for 2.5 to 3 hours, or until the steak is very tender and easily pulls apart with a fork. Stir occasionally.
If the sauce is too thin, you can remove the steak and simmer the sauce uncovered for a few minutes to thicken. Alternatively, mix 1 tablespoon of cornstarch with 2 tablespoons of cold water and stir into the simmering sauce until thickened.
Serve the Swiss steak hot, with the gravy spooned over it. It's excellent with mashed potatoes or egg noodles.
Notes
Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stovetop or in the microwave.