For baharat tomato sauce, heat oil in a saucepan over medium-high heat, add onion and garlic, and sauté until tender (4-5 minutes). Stir in baharat and chilli flakes until fragrant, add tomatoes, season to taste and simmer until slightly thickened (6-7 minutes). Stir in vinegar, check seasoning and keep warm.
Heat 1 tbsp of oil in a saucepan over medium-high heat, add rice and stir to coat. Season to taste, then add stock, bring to a simmer and cover. Reduce heat to low-medium and cook without uncovering until rice is tender and liquid is absorbed (12-15 minutes). Set aside.
Meanwhile, cook lentils in a large saucepan of unsalted boiling water until almost tender (6-8 minutes). Stir in pasta and cook until pasta is al dente (6-7 minutes). Drain, then stir lentils and pasta into rice, season to taste and keep warm.
Heat butter and remaining oil in a saucepan over medium-high heat, add onion and fry until golden brown and crisp (8-10 minutes).
To serve, divide lentil mixture among bowls, spoon tomato sauce on top and scatter with crisp onion.