*If using raw, untoasted buckwheat groats, I recommend to toast them first for a fuller flavour (see notes below), however you can use them untoasted if you wish.
Rinse the buckwheat groats in a strainer under running water, then drain them well.
Heat 1 tablespoon of the oil in a large skillet or dutch oven with a tight fitting lid (or use foil when it's time to cover it) over medium heat. Add the drained buckwheat kasha and cook them until they are dry, stirring constantly. This only takes a minute or two. Remove the kasha to a bowl and set aside (this step ensures the buckwheat doesn't get mushy when cooked).
Heat the remaining 2 tablespoons of oil in the skillet. Cook the onion, carrot, and celery for five minutes, until they are translucent. Add the garlic and the ground beef and cook until the meat is no longer pink, breaking up large chunks as it cooks (about 10 minutes).
Add the marjoram, thyme, bay leaf, salt, and pepper and stir to combine. Spread the reserved buckwheat evenly over the top of the hot meat and vegetable mixture. Pour the water over the buckwheat and do not stir. Bring the skillet to a boil, then lower the heat, cover with a lid or tin foil, and simmer the buckwheat kasha for 15 minutes without uncovering. Remove the pot from the heat, and dot the top with the butter.
Cover again and leave it to steam for 10 minutes to absorb the remaining water. Stir gently to fluff the buckwheat grains.
Serve with a dollop of sour cream or ketchup on top. Steamed vegetables and a salad make good side dishes to go with your buckwheat kasha.