In this paper, a fuzzy Petri nets for modeling fuzzy rule-based reasoning is proposed to bring together the possibilistic entailment and the fuzzy reasoning to handle uncertain and imprecise information. The three key components in our fuzzy rule-based reasoning: fuzzy propositions, truth-qualified fuzzy rules, and truth-qualified fuzzy facts, can be formulated as fuzzy places, uncertain transitions, and uncertain fuzzy tokens, respectively. Four types of uncertain transitions, inference, aggregation, duplication and aggregation-duplication transitions, are introduced to meet the mechanism of fuzzy rule-based reasoning. A reasoning algorithm based on fuzzy Petri nets is also presented to improve the efficiency of fuzzy rule-based reasoning. The reasoning algorithm is consistent with not only the rule-based reasoning but also the execution of Petri nets.