Fry bacon in a deep skillet or Dutch Oven over medium heat until crispy. Use tongs to remove the bacon from the skillet and place on a paper towel lined plate to drain.
Drain all but 2 Tablespoons of the bacon grease. Add the chopped onion to the skillet, making sure to scrape off any brown bits from the bottom of the pan. Cook onion until translucent, 7-9 minutes.
Crumble the bacon and add it back to the skillet along with the remaining ingredients. Stir everything together. Increase the heat to medium high and bring to a gentle boil, then reduce heat and simmer mixture for 45-60 minutes, stirring occasionally, until very little liquid remains and the mixture is thickened. I stir every 10 minutes or so in the beginning, and every 5 minutes during the last 15 minutes of cooking.
Serve warm or cold.
