Over medium-high heat, sauté the garlic and onion in a little oil until softened.
Add the carrots and green beans. Cook until slightly tender but still crisp.
Add the cabbage and cook until slightly wilted. Add the bean sprouts and cook until just softened.
Season with salt, pepper, soy sauce, and fish sauce. Toss well, then taste and adjust as needed. Turn off the heat and add the scallions and cilantro.
Drain the filling and let it cool for about 15 minutes.
Place a wrapper in a diamond shape. Add about ⅓ cup filling across the lower half, fold the bottom over and fold in the sides. Roll tightly and seal the edge with water.
In a medium pot or wok, add enough oil to fully submerge the lumpia. Set to medium-high heat (350°F or 175°C).
Fry in batches for about 6 minutes, turning as needed, until golden and crisp. Once they start sizzling, lower the heat slightly so they crisp through without browning too quickly.
Drain on a wire rack or paper towel-lined plate.