New York City (NYC) is an ultra-urban region, with over 50% impervious cover and buried stream channels. Traditional flood studies rely on the presence of stream gages to detect flood stage and discharge, but these methods cannot be used in ultra-urban areas. Here we create a high-resolution radar rainfall dataset for NYC and utilize citizen and expert reports of flooding throughout the city to study flash flooding in NYC. Results indicate that interactions between the urban area and land–sea boundary have an important impact on the spatial variability of both heavy rainfall and flooding, sometimes in contrast to results obtained for other cities. Top days of daily and hourly rainfall exhibit a rainfall maximum over the city center and an extended region of higher rainfall downwind of the city. The mechanism for flooding appears to vary across the city, with high groundwater tables influencing more coastal areas and high rain rates or large rain volumes influencing more inland areas. There is also a strong relationship between sewer type and flood frequency, with fewer floods observed in combined sewer areas. Flooding is driven by maximum one-hour to one-day rainfall, which is often substantially less rain than observed for the city-wide daily maximum.