Preheat oven to 350°
Place potatoes in a pot with enough water to cover potatoes and set to boil.
In a large skillet over medium heat, add olive oil. Once hot, add onion, celery, and carrots. Cook until carrots start to get tender, about 5 minutes.
Add in garlic, tomatoes, ground beef, thyme, and salt & pepper. Break up ground beef, add bay leaves, and cook until meat is cooked through, about 5 minutes. Depending on how lean your meat is, you may have to drain some fat at this point.
Add tomato paste and 1/4 cup of beef broth to meat mixture, mixing well to incorporate paste.
In a small bowl mix 2 tbsp of beef broth and arrowroot powder, mixing well to fully dissolve arrowroot powder into broth and create a slurry.
Add arrowroot slurry to meat mixture and combine well. Cover and simmer for 15 minutes.
Once potatoes are tender, drain and place back into pot with remaining ingredients and mash until smooth. Alternatively you can place drained potatoes and remaining ingredients in a mixer bowl and set to mix until smooth.
Place meat mixture in a casserole dish and top with mashed potatoes. Bake for 20 minutes just until potatoes start to get slightly golden.