In a large pot or dutch oven, cook the bacon on medium heat until crispy, about 8 minutes. Remove the cooked bacon and transfer it to a paper-towel lined plate. Leave the bacon fat.
Place the onions and garlic cut-side down in the residual bacon fat. Sear them until deeply golden and caramelized, about 5 minutes.
Along with the garlic and onions in the pot, add the dry beans, parmesan rind, herbs, bay leaves, and water. Bring to a boil then reduce to a simmer on medium-low heat. Cover and simmer for 1 ½ - 2 hours until the beans are your desired tenderness. Stir occasionally. Cooking time will vary depending on the bean used.
Once the beans are done cooking, squeeze in the juice of 1 lemon. Add salt and black pepper to taste (I added roughly 2 teaspoon of kosher salt). Ladle into large bowls and serve with the leftover crispy bacon, crusty bread, and a drizzle of good olive oil.