Melt the bacon grease in a Dutch oven over medium-high heat. If using bacon instead of bacon grease, cut it into 1-inch pieces and cook until the fat has rendered. Remove the bacon, leaving the rendered fat in the Dutch oven, then add the onions.
Reduce heat to medium and sauté the onions, stirring almost constantly, until softened and translucent-about 5 minutes.
Add the garlic and stir until aromatic, about 2 minutes.
Add the chili powder, paprika, cumin, and lemon zest. Stir constantly for about 2 minutes to bloom the spices.
Add the chopped chipotle pepper, cranberries, and a pinch of salt. Stir well to coat the cranberries with the spice mixture.
Add the vinegar, lemon juice, and brown sugar. Stir well for a couple of minutes, until all the ingredients are combined.
Reduce the heat to low, cover, and simmer for about 15 minutes, stirring occasionally, until most of the cranberries have burst.
Remove the Dutch oven from the heat and set aside for 5 minutes.
Pour the cranberry mixture into a blender and blend until completely smooth. The sauce will have a thick, smooth, paste-like consistency at this point. (See Notes)
Press the cranberry paste through a kitchen strainer. Scrape off the bottom of the strainer and return the processed cranberry sauce to the Dutch oven. (see Notes)
Place the Dutch oven over medium-high heat. Stir in 1 cup of beef stock, whisking until smooth. Add additional stock a little at a time until the sauce reaches your preferred consistency. Bring to a gentle boil, then reduce to a high simmer for about 5 minutes.
Reduce to a low simmer, cover, and allow it to simmer for about 15 minutes, whisking occasionally to keep the sauce smooth. Add more beef stock to thin out the sauce, if desired. (If you need it to thicken, just simmer without the cover)
Remove from the heat and let the sauce rest for about 10 minutes before serving. The sauce will thicken slightly as it cools. If needed, whisk in additional stock or water when reheating to reach your desired consistency.
Notes
Fry bacon cut into 1 " slices to render the fat, or use reserved bacon grease from another recipe.Fresh or frozen cranberries are very tart, but the amount of brown sugar can be adjusted to your taste.Canned cranberry sauce can be substituted for the whole cranberries-use one 15-ounce can. There are other ingredients in the canned sauce, so you should consider the amount of brown sugar you use. Start with 1 cup, then add more after tasting, if desired.One chipotle pepper in adobo sauce provides a mild to medium heat. Add additional peppers if you prefer a spicier BBQ sauce.A countertop blender produces the smoothest texture. After blending, press the sauce through a kitchen strainer to remove any remaining skins. An immersion blender followed by a food mill also works well.The final consistency of the sauce will depend upon the amount of beef stock or beef broth you add. You may use more than two cups of stock to get the consistency you like.Chicken stock, vegetable stock, cranberry juice, or water can be substituted for beef stock. To make this vegetarian, substitute olive oil or vegetable oil for the bacon grease and vegetable stock for the beef stock.