Matching methods aim to improve the validity of causal inference in observational studies by reducing model dependence and offering intuitive diagnostics. While they have become a part of standard tool kit for empirical researchers across disciplines, matching methods are rarely used when analyzing time-series cross-section (TSCS) data, which consist of a relatively large number of repeated measurements on the same units. We develop a methodological framework that enables the application of matching methods to TSCS data. In the proposed approach, we first match each treated observation with control observations from other units in the same time period that have an identical treatment history up to a pre-specified time period. We use standard matching and weighting methods to further refine this matched set based on the outcome and covariate histories so that a treated observation is similar to the matched control observations. Once the refinement is done, we estimate both short-term and long-term average treatment effects using the difference-in-difference estimator, which accounts for time trends. The proposed methodology is implemented via an open-source software package.