Put the lentils in a large pot and cover with cold water by 2 inches. Add the smashed garlic, carrot, celery and onion. Salt the water generously. Bring to a simmer and cook until the lentils are just tender but not falling apart yet, about 20 minutes. Pick out and discard the vegetables. Drain the lentils.
While the lentils are cooking, make the vinaigrette. Put the vinegar and shallots together in a large bowl. Allow them to sit for 5 minutes. Whisk in the mustard and then 1/2 cup olive oil in a thin stream. Add the lentils directly to this bowl while they're still warm. Toss and set aside the dressed lentils to cool.
Heat the remaining 2 tablespoons olive oil in a large skillet over medium-high heat. Add the salami strips and cook until they're crisp, stirring occasionally, 4 to 5 minutes. Transfer to a paper-towel-lined plate.
To the lentil bowl, add the chopped giardiniera and reserved liquid, parsley, tomatoes and fennel. Toss and check for seasoning. Add more salt and pepper if desired. Top the salad with the crisp salami strips.