If you're staying in Milan, trains run every 30 mins to Como.
Get to Como EARLY to get ferry tickets that will take you to Bellagio, Menaggio, Varenna, etc. Don't go just to the town of Como - it's cute but the real ones you want to see are up lake.
There are 3 kinds of tickets you could get - the Hydrofoil (if it is running when you are there) is the fastest. Then there is the 'express' ferry which makes fewer stops and goes up the lake in about an hour. The last and 'worst' is the regular ferry. It takes anywhere from 2 to 3 hours to get from Como to Bellagio depending on how many stops. It is neat to be able to see all the small towns that it pulls into though.
Here is the official website with timetables, etc:
https://www.navigazionelaghi.it/en/As soon as you get to your destination (ex. Bellagio) buy your return ticket. You cannot buy this from your departure point. If you wait to get your return ticket the ferry may sell out and then you will have to take a later boat or might end up stuck.
Show up for your return boat early. Earlier than you might think (30 mins at minimum). The lines get long. If you are still waiting in line to board and the time for the ferry to leave comes, it will leave without you. It is not like a flight where if you're at the gate and everyone is boarding then you will get on the plane.Story time.
The first day of our honeymoon, my wife and I stayed at a hotel right next to the ferry ticket stand in Como. While my wife ate breakfast, I waited in line for 30 mins before the ticket booth opened. The line I was told was 'longer than normal' as 30 mins should be good to get on the first boat of the day.
There was a ferry worker strike the day before. This meant that every tourist who had wanted to go to Bellagio, Varenna, etc. the day before had delayed their trip to that day. An idiot tourist in front of us did not know what he was doing and held up the line for 30 mins (there was only one ticket booth open). The ticket guy did not make him step aside to get his stuff together, (obviously the ferry workers didn't care - again they had just been on strike) and as a result of the delay we missed the first fast ferry to Bellagio (8:40 AM Departure). The next fast ferry would not come for a few hours so we decided to take the slow ferry 30 mins later (9:15 Departure - meaning instead of getting to Bellagio at 9:20am we didn't get there until 11:50). As soon as we got off the ferry in Bellagio we walked over to buy our return tickets for the evening ferry. As we walked up, (I am not exaggerating here) they sold out of the fast ferry tickets to the customers in front of us. As I stepped up to the counter he took the paper down listing the fast ferry availability (There had been a 3:30 and 5:00PM option).
This meant we were limited to the 3:50 and 4:45 slow ferry options, which would arrive at 6 and 7PM respectively in Como. We had dinner reservations at 6:30 and didn't want to get stuck if the last ferry didn't run, so we opted for the 3:50. Our planned 8 hours exploring Bellagio and the other local towns was cut to 4, and this was before we were told that it would be smart to get in line around 3:15-3:30.
We walked around and got back to the dock at approx. 3:20. Almost got in the wrong ferry line because there are multiple docks that weren't well marked. Finally, we realized the line for our boat wrapped quite literally around the entire side of the town. We got in line and waited, talking with other tourists saying things like "Man this might take a while to board, good thing we all have tickets!"
At around ~3:40 our boat arrived and people started boarding. The line was incredibly slow. At 3:50 the boat blew its horn and left. There were at least a hundred of us still standing in line. At first we thought it had to have been a different boat but after some general confusion and talking amongst ourselves we realized that it had only partially boarded and left at the scheduled time.
We went back to the ticket counter to talk to the disinterested agent who promptly waved us off with a "all ferries are sold out, you can try to wait in line for the next one but there's no guarantee of boarding".
Running out of options, we next walked to the bus stop to try to board a bus that supposedly runs every 15 mins. After about 40 minutes of waiting a bus pulled up that was completely full and could take no more passengers.
Uber/Lyft was nonexistent.
Finally, we walked to a local hotel lobby to ask for help. The nice desk clerk let us borrow their phone to call our hotel. He said this was not an uncommon occurrence. Taxis will not let you flag them down - they have to be ordered by a hotel and he could not order us one - it had to be done by our hotel.
Finally, we got through to our hotel in Como and asked them to send a taxi. They told us the charge for the 1-way ride would be almost 200 euro and that it would be a few hours before the Taxi would arrive due to drive time and backlog.
We made the best of a bad situation and went back to an enoteca and enjoyed a bottle of wine or two with some aperitivo. My wife and I joke that if we survived that cluster*** on our first day of our honeymoon we can survive just about anything.
Bellagio is gorgeous and we want to go back. Just, next time we will probably stay somewhere up the lake and take the empty boats going the opposite directions as the rest of the daytrip tourists.
If you're going at a busy time make sure to have a contingency plan (or 3!) to get back to your hotel, or even rent a car. The ferry ride was beautiful but spending 5-6 hours of a day on a slow ferry up and down the lake is not the most fun use of time.