How to Make It
In a small saucepan, cover the beans with 1 inch of water and bring to a boil. Cover partially and simmer over low heat, stirring occasionally, until tender, about 40 minutes. Drain and keep covered.
Heat the olive oil in a large saucepan. Add the garlic, onion, Tabil and paprika and cook over low heat until the onion softens, about 7 minutes. Add the tomatoes and a pinch each of salt and pepper and bring to a simmer. Add the hot water, then cover and simmer the tomato mixture until very thick, about 20 minutes. Stir in the cooked beans, cover and simmer for about 10 minutes longer. Add the preserved lemon and capers, season the tomato mixture with salt and pepper and remove from the heat.
In a medium skillet, heat 1/4 cup of the olive oil. Add the parsley and onion and cook over moderately low heat until the onion softens, about 8 minutes. Transfer the parsley and onion to a large bowl and let cool completely. Add the ground veal, feta, bread crumbs, olives, Gruyère, Tabil and 2 of the eggs and mix thoroughly with your hands. Form the meat mixture into 3 dozen tablespoon-size meatballs.
In a large skillet, heat 1/4 inch of olive oil until shimmering. In a medium shallow bowl, beat the 2 remaining eggs. Working in batches, dredge the meatballs lightly in flour, then dip them in the beaten eggs, letting any excess egg drip back into the bowl. Fry the meatballs over moderate heat until browned all over; reduce the heat if they start browning too quickly. Transfer the meatballs to a rack to drain.
Roast the poblano chile over a gas flame or under the broiler until charred all over, about 10 minutes. Transfer the chile to a bowl, cover with plastic wrap and let steam for 5 minutes. Peel the chile and discard the stem, core and seeds. Cut the poblano chile pepper into thin strips.
Bring the sauce to a simmer. Add the meatballs, cover and cook over low heat for 10 minutes. Arrange the meatballs and sauce in a large bowl, garnish with the strips of chile and serve.