In a heavy bottom large pan or dutch oven, heat olive oil over high heat. When the oil is shimmering add the yellow onion. Sauté for 1 minute, then add the garlic and cook for an additional 30 seconds before adding the ground beef.
Season the beef with salt and pepper. Using a wooden spoon or spatula break the ground beef apart as it cooks to 'scramble' it. Once the beef is mostly cooked add the beer and stir, scraping any bits off the bottom of the pan.
Add the beans, tomato sauce, and remaining spices. Bring to a boil while stirring occasionally, then reduce the heat to low. Cover and simmer for 30 minutes, stirring every now and then. Garnish and serve right away or cool and reheat for later.