Can anyone give me suggestions on an Italian city to visit that is not over crowded with tourists. We will be in Zermatt and want to drive less than two hours.
Your car will be in Visp since there is only train access to Zermatt. From Visp there it is about 2 hours to Stresa on Lake Maggiore through Brig and Domodossola. Lake Maggiore is, of course, a beautiful mountain lake so I doubt it is ever without tourists. The drive will be through the heart of the Alps though.... Wonderful area.
There is a paid parking lot at Taesch, just below Zermatt, where everybody parks to get to Zermatt. Stresa is the closest place worth going to in Italy, and it is a 2 1/2 hour drive. You have to drive over the Simplon Pass, and that is time consuming. If you got an early start, you could drive to Brig station in about an hour and catch the EC train at 8:44 and take that 1 hour to Stresa through the Simplon Tunnel.
If you had skis, you could take the lifts up to Klein Matterhorn and ski down to Cervinia, Italy.
What time of year? How many nights will you spend in this town or city? Do you prefer more scenic countryside/small town or is a true city your desire, with museums and nice restaurants?
I agree with the others, Stresa is the obvious choice. Stresa is a lovely town by a lake, with islands you can visit. To get there you need to driver over the Simplon Pass, which will be a scenic drive
However Stresa is not a city, it is a town. The nearest city is Milan, and no way do you want to drive into Milan.
And you cannot drive to Zermatt, the nearest parking is in Täsch, then you take a train. First you need to get to Täsch and retrieve your car. Click for route on ViaMichelin. This estimates it as 2½ hours, that is with no stops, I would say 3-3½. No way you can reach Italy in 2 hours.