Travel time estimation is a basic but important part in intelligent transportation systems, especially widely applied in online map services to help travel navigation and route planning. Most previous works commonly model the road segments or intersections separately and obtain their spatial-temporal characteristics for travel time estimation. However, due to the continuous alternation of the road segments and intersections, the dynamic features of them are supposed to be coupled and interactive. Therefore, modeling one of them limits further improvement in accuracy of estimating travel time. To address the above problems, we propose a novel graph-based deep learning framework for travel time estimation, namely Spatial-Temporal Dual Graph Neural Networks (STDGNN). Specifically, we first establish the spatial-temporal dual graph architecture to capture the complex correlations of both intersections and road segments. The adjacency relations of intersections and that of road segments are respectively characterized by node-wise graph and edge-wise graph. In order to capture the joint spatial-temporal dynamics of the intersections and road segments, we adopt the spatial-temporal learning layer that incorporates the multi-scale spatial-temporal graph convolution networks and dual graph interaction networks. Followed by the spatial-temporal learning layer, we also employ the multi-task learning layer to estimate the travel time of a given whole route and each road segment simultaneously. We conduct extensive experiments to evaluate our proposed model on two real-world trajectory datasets, and the experimental results show that STDGNN significantly outperforms several state-of-art baselines.