Vettel set the pace with a lap of 1 minute, 19.673 seconds in the German's first drive of the new Ferrari. Bottas was next at 0.303 seconds slower in his Mercedes. They were followed by McLaren's Stoffel Vandoorne, who just edged Red Bull's Max Verstappen for the third fastest time.
"In terms of general operation everything is really smooth. So it is good to come here and switch on the car and be able to run," Vettel said. "Obviously the limiting factor was the weather. I think the next two days won't be much better but I hope next week will be."
Cold and wet conditions, which reduce the tire's grip on the tarmac, limited driving for a second straight day with only six more test days left before the season starts in Melbourne. A track temperature of 4 degrees (39 F) when the session started kept most drivers in the garages until things warmed up by noon.
To make up some of the lost time, officials granted the teams' request to cancel the one-hour lunch break. But light snow fell on the track as temperatures fell again with an hour remaining for the session.
"It was very cold on track today. I don't think I've ever driven in such cold conditions before in Formula One," Bottas said. "The tires are just not made for these conditions. But we made the most out of the day."
More snow is forecast for Wednesday. Even with temperatures at their highest, both Vettel and Sauber rookie Charles Leclerc spun off the track and into the gravel. Kevin Magnussen had the biggest scare of the day. The Haas driver was about to crash when he managed to regain control and skirt just alongside the barrier until returning to the track.
Vandoorne's third-best time, however, came on a faster set of tires than Verstappen. Much more worrying was that his session was cut short by a problem with the car's exhaust that the team said it was investigating.
McLaren teammate Fernando Alonso had a wheel pop off on Monday, limiting his driving time as well. The hiccups don't bode well for a team trying to rebound after three disappointing years with Honda by changing to Renault engines.
Red Bull's fortunes turned after Daniel Ricciardo set the fastest time and clocked the most laps on Monday. Verstappen had trouble getting his car out of the garage early because of a problem identified by the team as a "minor fuel leak."
Defending champion Lewis Hamilton was scheduled to relieve Bottas at midday. But Mercedes announced after the lunch break was cancelled that Bottas would continue behind the wheel "to maximize our mileage after the poor track conditions limited running this morning."
That means Hamilton has made 25 laps in the Mercedes so far. Vettel recorded the most laps for the session with 98, four more than Bottas. Vettel said that it was too early to size up Mercedes or the rest of the potential contenders.
"For sure you look at the others and compare, but it's very difficult. So I think we should not get into details too much because it is a bit pointless," Vettel said. "First we try to understand the car. A lot of mileage, that is the key right now, and then later we focus on performance."
Robert Kubica, who hasn't raced in F1 since 2010 after being badly injured in a rally crash, served as Williams' reserve driver in the afternoon. He completed 48 laps and the seventh fastest time. Testing near Barcelona runs until Thursday. A second four-day session will be held from March 6-9.
The season-opening Australian GP is on March 25.