Heat the lard in a heavy pot and brown the chicken on all sides. Transfer the chicken to a plate. In the same oil, add the onions and fry until golden brown. Add the garlic and tomatoes (and pepper if using) and fry another 2-3 minutes. Remove the pot from the heat and stir in the paprika, salt and pepper (paprika becomes bitter if scorched).
Return the chicken to the pot and place it back over the heat. Pour in the chicken broth. The chicken should be mostly covered. Bring it to a boil. Cover, reduce the heat to medium-low and simmer for 40 minutes. Remove the chicken and transfer to a plate.
In a small bowl, stir the flour into the sour cream/cream mixture to form a smooth paste. Stir the cream mixture into the sauce, whisking constantly to prevent lumps. Bring it to a simmer for a couple of minutes until the sauce is thickened. Add salt and pepper to taste. Return the chicken to the sauce and simmer to heat through.
Serve the chicken paprikash with Hungarian nokedli, which is like German Spaetzle only they're very short and stubby. You can make nokedli with a spätzle scraperand using this recipe for the dough.