For the onions: Heat the olive oil in a large pot or dutch oven over medium heat. Add the sliced onions and cook for 15-20 minutes, stirring occasionally, until very soft and caramelized.
Add the garlic, bay leaves and thyme and cook for 2-3 more minutes until fragrant.
Deglaze the pan with the white wine and let it simmer for 2-3 minutes until reduced by half.
Stir in the butter until melted. Remove the bay leaves.
For the meatballs: In a large bowl, combine the ground beef, egg, almond flour, salt and pepper. Mix until just combined, being careful not to overmix.
Roll the mixture into 1-inch meatballs and place them on a plate.
For the sauce: Sprinkle the gluten-free flour over the onions and stir to coat. Cook for 1 minute.
Slowly whisk in the chicken broth, dijon and Worcestershire. Bring to a simmer and let thicken for 5 minutes.
Gently add the meatballs to the sauce and let simmer for 10-15 minutes until cooked through.
Top with the shredded gruyere cheese and broil for 2-3 minutes until melted and bubbly.
