Although Pennsylvania lies entirely within the humid continental zone, its climate varies according to region and elevation. The regions with the warmest temperatures and the longest growing seasons are the low-lying southwest Ohio valley and the Monongahela valley in the southeast. The region bordering Lake Erie also has a long growing season, as the moderating effect of the lake prevents early spring and late autumn frosts. The first two areas have hot summers, while the Erie area is more moderate. The rest of the state, at higher elevations, has cold winters and cool summers.

Among the major population centers, Philadelphia has an annual mean temperature of 54°F (12°C), with a normal minimum of 45°F (7°C) and a normal maximum of 64°F (18°C). Pittsburgh has an annual mean of 50°F (10°C), with a minimum of 41°F (5°C) and a maximum of 60°F (16°C). In the cooler northern areas, Scranton has a normal annual mean ranging from 41°F (5°C) to 59°F (15°C); Erie, from 42°F (6°C) to 58°F (14°C). The record low temperature for the state is –42°F (–41°C), set at Smethport on 5 January 1904; the record high, 111°F (44°C), was reached at Phoenixville on 10 July 1936.

Philadelphia had about 42 in (107 cm) of precipitation annually (1971–2000), and Pittsburgh had 37.8 in (96 cm). Pittsburgh, however, has much more snow—44 in (112 cm), compared with 21 in (53 cm) for Philadelphia. The snowfall in Erie, in the snow belt, exceeds 54 in (137 cm) per year, with heavy snows sometimes experienced late in April. In Philadelphia, the sun shines an average of 56% of the time; in Pittsburgh, 44%.

The state has experienced several destructive floods. On 31 May 1889, the South Fork Dam near Johnstown broke after a heavy rainfall, and its rampaging waters killed 2,200 people and devastated the entire city in less than 10 minutes. On 19–20 July 1977, Johnstown experienced another flood, resulting in 68 deaths. Three tornadoes raked the southwestern part of the commonwealth on 23 June 1944, killing 45 persons and injuring another 362. Rains from Hurricane Agnes in June 1972 resulted in floods that caused 48 deaths and more than $1.2 billion worth of property damage in the Susquehanna Valley.