From Milano, the capital of North Italy, you have 2 train lines to Varese. The FFS (Public rail) and the FNM (Private Rail). There's not difference in the quality but the FFS, is a little Cheap (Of course).
The only advatage you have with FNM is more frequency trains to Varese.
You can take FFS train to Varese in the "GARIBALDI STATION" in Milano joinable with underground Metro. The trip is 60 - 90 minutes long depending for the kind of train (Direct or with local stops).
You can take FNM train to Varese in the "CADORNA STATION" in Milano joinable with underground metro also. Same long trip.
When i went into the very pretty Varese town....I was surprised to find that ...very few people spoke any english......so communication often was a problem since i spoke no italian!.......esp with the bus drivers and small shop owners... though they were very friendly and tried their level best to explain everything in the local lingo.....
Frankly i had a fairly tough time on my first foray since i didnt have a map ...i got into the right bus to the Varese lake but it was going in the exact opposite direction!......
so please keep a map and a few italian lines handy ...however i must stress the locals were very friendly , wonderful and more than willing to help.
And i learnt the hard way .... there is a world of a difference between a pizza and a piazza! hahahaha!
I am usually traveling by car, from Milano to Varese with A8 highway. As far as I know, there are very good and very often connections by local buses.