Preheat the oven to 200°C (390°F). Wrap beets in foil and roast for about 45 minutes until they’re tender when pierced with a knife.
While the beets roast, peel and cut the potatoes into chunks, then boil in salted water until fluffy, about 15 minutes. Drain and mash until smooth.
Once the beets are cool enough to handle, roughly chop them and blend in a food processor until smooth, adding a splash of water if needed to help purée.
Combine the beet purée with the mashed potatoes in a large bowl, then add salt and 1 cup of flour. Mix gently to form a soft, slightly sticky dough.
Divide the dough into four equal portions. Roll each into a long rope about 2 cm in diameter on a floured surface.
Cut each rope into 2 cm pieces, then gently press with a fork to create ridges, which help sauces cling better.
Bring a large pot of salted water to a gentle boil. Drop in the gnocchi and cook until they float to the surface, about 2-3 minutes. Use a slotted spoon to remove them and set aside.
In a frying pan, melt the butter over medium heat until it starts to brown and smells nutty. Add sage leaves and cook until crispy and fragrant, about 1-2 minutes.
Add the cooked gnocchi to the sage brown butter, tossing gently to coat and heat through. Cook for another 1-2 minutes until slightly crispy on the outside.
Optional: drizzle with a little olive oil for extra shine and aroma. Serve hot, garnished with additional sage leaves or crumbled feta if desired.