Travel time estimation plays an important role in traffic monitoring and route planning. Taxicabs equipped with Global Positioning System (GPS) devices have been frequently used to monitor the traffic state, and GPS trajectories of taxicabs also used to estimate path travel time in an urban area. However, in most cases, it is difficult to find a trajectory that fits perfectly with the query path, as some road segments may be traveled by no taxicab in present time slot. This makes it hard to estimate the travel time of the query path. This paper proposes a framework to estimate the travel time of a path by using the GPS trajectories of taxicabs as well as map data sources. In this framework, the travel time is represented as a series of residence time in cells (one cell is the gird segmentation unit), thus the key issues of the estimation are: finding the local traffic patterns of frequently shared paths from historical data and computing the stay time in cells. There are three major processes in this framework: trajectories preprocessing, establishing the temporal-spatial index and cell-based travel time estimation. Based on the temporal-spatial index, an algorithm is developed that uses similar route patterns, the cell-based travel time over a period of history and road network information to estimate the travel time of a path. This paper uses GPS trajectories of 10,357 taxicabs over a period of one week to evaluate the framework. The results demonstrate that this paper’s method is effective and feasible in city-wide scenarios.