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