Designing minimum possible order (minimal) observers for multi-input multi-output (MIMO) linear systems have always been an interesting subject. In this paper, a new methodology to design minimal multi-functional observers for linear time invariant (LTI) systems is proposed. The approach is applicable, and it also helps in regulating the convergence rate of the observed functions. It is assumed that the system is functional observable or functional detectable, which is less conservative than assuming the observability or detectability of the system. To satisfy the minimality of the observer, a recursive algorithm is provided that increases the order of the observer by appending the minimum required auxiliary functions to the desired functions that are going to be estimated. The algorithm increases the number of functions such that the necessary and sufficient conditions for the existence of a functional observer are satisfied. Moreover, a new methodology to solve the observer design interconnected equations is elaborated. Our new algorithm has advantages with regard to the other available methods in designing minimal order functional observers. Specifically, it is compared with the most common schemes, which are transformation based. Using numerical examples it is shown that under special circumstances, the conventional methods have some drawbacks. The problem partly lies in the lack of sufficient numerical degrees of freedom proposed by the conventional methods. It is shown that our proposed algorithm can resolve this issue. A recursive algorithm is also proposed to summarize the observer design procedure. Several numerical examples and simulation results illustrate the efficacy, superiority and different aspects of the theoretical findings.