Crumble beef into a large nonstick skillet; cook over medium heat until it starts to sizzle, about 1 minute.
Add onion and cook, stirring occasionally, breaking up the meat with a wooden spoon until the onion is soft and the moisture has evaporated, 8 to 10 minutes.
Add tomatoes and flour; stir to combine.
Stir in water, chili sauce, ketchup and Worcestershire sauce and bring to a simmer, stirring often.
Reduce heat to a low simmer and cook, stirring occasionally, until the sauce is thickened and the onion is very tender, 8 to 10 minutes.